Срок службы службы ядра Entity Framework по умолчанию
В приложении ASP.NET Core я могу зарегистрировать DbContext через DI, как это
services.AddDbContext<Models.ShellDbContext>(options => options.UseNpgsql(connection));
И интересно знать, какова его продолжительность жизни?
Отсюдаhttps://github.com/aspnet/EntityFramework/blob/f33b76c0a070d08a191d67c09650f52c26e34052/src/Microsoft.EntityFrameworkCore/EntityFrameworkServiceCollectionExtensions.cs#L140 похоже, он настроен как Scoped, что означает, что экземпляр DbContext создается при каждом запросе.
Итак, первая часть вопроса: правда ли это, и если да, то насколько это дорого?
И вторая часть: если я создаю сервис, который использует DbContext и предназначен для использования контроллерами, и будет иметь API для управления некоторыми объектами в БД, должен ли он быть зарегистрирован как Scoped?