Безпараметрическая версия метода приводит к Scoped времени жизни для DbContext
и, если дано, к опциям:
public static IServiceCollection AddDbContext<TContext>(
[NotNull] this IServiceCollection serviceCollection,
[CanBeNull] Action<DbContextOptionsBuilder> optionsAction = null,
ServiceLifetime contextLifetime = ServiceLifetime.Scoped,
ServiceLifetime optionsLifetime = ServiceLifetime.Scoped)
where TContext : DbContext
=> AddDbContext<TContext, TContext>(serviceCollection, optionsAction, contextLifetime, optionsLifetime);
AddDbContext
- это просто метод расширения, предоставляемый Entity Framework Core, который обрабатывает регистрацию службы для вас под капотом . Вы можете выполнить всю регистрацию службы, которая выполняется там, самостоятельно, но с помощью этого метода расширения EFCore гарантирует, что все настроено так, как нужно.
Метод имеет перегрузку , в которой вы можете сами указать ServiceLifetime
(который вызывается с параметрами по умолчанию из-за перегрузки без параметров).
В общем, для подобных вопросов проще всего обратиться к официальной документации:
EntityFrameworkServiceCollectionExtensions.AddDbContext Официальный документ
Или для более глубокого понимания посмотрите код на github:
EF-Core Github