Зарегистрируется ли DBContext как «Scoped» или «переходные» влияет на соединение с базой данныхC#

Место общения программистов C#
Anonymous
Зарегистрируется ли DBContext как «Scoped» или «переходные» влияет на соединение с базой данных

Сообщение Anonymous »

У меня есть базовое понимание в DI в ASP.NET MVC, но есть вопрос, который меня очень беспокоит. Имеет ли это значение для регистрации DBContext как «Scoped» или «переход»? Ниже приведен некоторый код типичного приложения MVC: < /p>

Код: Выделить всё

public class EmployeeController : Controller
{
private EmployeeContext _context;

public EmployeeController(EmployeeContext context)
{
_context = context;
}

public ActionResult Index()
{
return View(context.Employees.ToList());
}

...//other action methods that access context's DbSet
}
Допустим, мы регистрируем helpecteecontext в качестве переходной службы. После того, как мы запустим приложение, приложение прослушивает любые входящие запросы.
, скажем, HTTP -запрос на по умолчанию /Home /Index возникает, поэтому необходимо создать новый экземпляр работы employeEcontroller < /code>. DI сначала предоставит экземпляр COMPOMEECONTEXT конструктору контроллера. _context доступен и для всех других методов действия, и нет никакого другого места для создания нового SemopeEcontext Service.
Таким образом, после завершения запроса _context также распоряжается. Разве это не такой и тот же эффект, как сервис с осевой точки зрения? Мы собирались зарегистрировать его как «переходную» сервис, и в конце концов он работает как «общекартовочная» сервис. Кажется, если на самом деле не имеет значения, регистрируем ли мы DBContext как «Scoped» или «Transient».

Подробнее здесь: https://stackoverflow.com/questions/576 ... g-database

Вернуться в «C#»