Я создаю приложение-службу с использованием Web API, Core Core и EntityFramework Core.Entity Framework Core DbContext and Dependency Injection
Для настройки параметров в моем DbContext я использую эти строки в методе «ConfigureServices» в Startup.cs
var connection = @"Server=ISSQLDEV;Database=EventManagement;Trusted_Connection=True;";
services.AddDbContext<EMContext>(options => options.UseSqlServer(connection));
Я знаю, что если добавить контекст в качестве параметра конструктора в контроллере .Net будет вставьте контекст в конструктор.
Но это не то поведение, которое я хочу. Я не хочу, чтобы мой веб-api ничего не знал о dbcontext. У меня есть проект DataAccess с классом репозитория, который обрабатывает все операции CRUD.
Это означает, что я просто хочу сказать Repository.AddEvent (evt) в моем контроллере, а затем репозиторий знает, как с этим справиться.
С другой стороны, в репозитории используется простой зависимый преобразователь, чтобы получить правильную реализацию «IDataAdapter». Одна из этих реализаций - SQLDataAdapter. Это тот момент, в котором мне нужен мой контекст.
Как передать свой контекст до этого момента?