powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как передать EF DbContext в контроллер через DI? .Net Core.
9 сообщений из 9, страница 1 из 1
Как передать EF DbContext в контроллер через DI? .Net Core.
    #39831019
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Определяю контекст:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
    public class SupportWebContext : DbContext
    {
        public DbSet<Employee> Employees { get; set; }
        public SupportWebContext(DbContextOptions<SupportWebContext> options)
            : base(options)
        {
            Database.EnsureCreated();
        }
    }



Добавляю в сервисы:
Код: c#
1.
2.
3.
4.
5.
6.
   public void ConfigureServices(IServiceCollection services)
        {
            // получаем строку подключения из файла конфигурации
            string connection = Configuration.GetConnectionString("SupportWebConnection");
            // добавляем контекст SupportWebContext в качестве сервиса в приложение
            services.AddDbContext<SupportWebContext>(options => options.UseSqlServer(connection));



Получаю ошибку:
InvalidOperationException: Could not create an instance of type 'scheduler.Models.EF.SupportWebContext'. Model bound complex types must not be abstract or value types and must have a parameterless constructor. Alternatively, give the 'context' parameter a non-null default value.
...
Рейтинг: 0 / 0
Как передать EF DbContext в контроллер через DI? .Net Core.
    #39831024
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конструктор без параметров нужен, странно
здесь пример взял
https://metanit.com/sharp/aspnet5/12.1.php
...
Рейтинг: 0 / 0
Как передать EF DbContext в контроллер через DI? .Net Core.
    #39831030
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос снят, неправильно конструктор писал
Код: c#
1.
2.
3.
4.
5.
   private SupportWebContext db;
        public HomeController(SupportWebContext context)
        {
            db = context;
        }
...
Рейтинг: 0 / 0
Как передать EF DbContext в контроллер через DI? .Net Core.
    #39831404
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Контроллер не место для датаконтекстов
...
Рейтинг: 0 / 0
Как передать EF DbContext в контроллер через DI? .Net Core.
    #39831448
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik_KartmannКонтроллер не место для датаконтекстов

если ТС надо, то место
...
Рейтинг: 0 / 0
Как передать EF DbContext в контроллер через DI? .Net Core.
    #39831538
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik_KartmannКонтроллер не место для датаконтекстов
он еще и без using
...
Рейтинг: 0 / 0
Как передать EF DbContext в контроллер через DI? .Net Core.
    #39831630
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewон еще и без using
Его DI автоматически диспозит по завершению запроса.
...
Рейтинг: 0 / 0
Как передать EF DbContext в контроллер через DI? .Net Core.
    #39831821
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вроде как инжектить контекст напрямую в контроллер плохой тон, нужно через UnitOfWork.
...
Рейтинг: 0 / 0
Как передать EF DbContext в контроллер через DI? .Net Core.
    #39831838
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_subвроде как инжектить контекст напрямую в контроллер плохой тон, нужно через UnitOfWork.

дело вовсе не в плохом тоне. ничего адекватного и серьёзного без тонны говнокода в контроллере с контекстом не сделать. а если ничего серьёзного делать не надо, то и пофиг -- не нужно городить огород с UOW.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как передать EF DbContext в контроллер через DI? .Net Core.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]