Подтвердить что ты не робот

Настройка Dbcontext как переходного процесса

В ядре Core/EntityFramework в ASP.NET метод services.AddDBContext < > добавит указанный контекст в качестве службы с ограниченным доступом. Я понимаю, что это рекомендуемое управление жизненным циклом для dbcontext от Microsoft.

Тем не менее, в нашем инженерном отделе много споров, и многие считают, что контекст нужно утилизировать как можно скорее. Итак, каков наилучший способ настройки dbcontext как Transient, который все еще поддерживает тот же шаблон репозитория, который обычно используется (например, ввод контекста непосредственно в конструктор репозитория), а также поддержка гибкого модульного тестирования?

4b9b3361

Ответ 1

Время жизни - это параметр на AddDbContext<>(). Пример:

services.AddDbContext<ApplicationDbContext>(options =>
         options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")), 
         ServiceLifetime.Transient);

Это добавит его в коллекцию услуг с временным временем жизни.