internal static ContainerBuilder AddDbContextInternal(this ContainerBuilder containerBuilder, Type dbContextType, Action <DbContextOptionsBuilder>?optionsBuilderAction, ServiceLifetime?serviceLifetime, IDbContextConfigurator?configurator) { serviceLifetime ??= ServiceLifetime.Transient; containerBuilder .Register(context => { var applicationServiceProvider = context.Resolve <IServiceProvider>(); var loggerFactory = context.Resolve <ILoggerFactory>(); void Builder(DbContextOptionsBuilder builder) { builder.UseLoggerFactory(loggerFactory); builder.UseApplicationServiceProvider(applicationServiceProvider); optionsBuilderAction?.Invoke(builder); } var actionConfigurator = new DbContextOptionsBuilderActionContextConfigurator(Builder); IDbContextConfigurator compilationConfigurator = configurator == null ? actionConfigurator : new DbContextConfiguratorCompilation(actionConfigurator, configurator); return(ActivatorUtilities.CreateInstance( applicationServiceProvider, dbContextType, compilationConfigurator)); }) .PropertiesAutowired() .As(dbContextType) .WithLifetime(serviceLifetime.Value) .OwnedByLifetimeScope(); return(containerBuilder); }
public MyContext(DbOptions <MyContext> dbOptions, IDbContextConfigurator dbContextConfigurator) : base(dbOptions) { _dbContextConfigurator = dbContextConfigurator; }
protected OpenModDbContext(IDbContextConfigurator configurator, IServiceProvider serviceProvider) { m_DbContextConfigurator = configurator; ServiceProvider = serviceProvider; }
public KitsDbContext(IDbContextConfigurator configurator, IServiceProvider serviceProvider) : base(configurator, serviceProvider) { }
public static ContainerBuilder AddDbContext(this ContainerBuilder containerBuilder, Type dbContextType, Action <DbContextOptionsBuilder>?optionsBuilder, ServiceLifetime serviceLifetime, IDbContextConfigurator configurator) { return(AddDbContextInternal(containerBuilder, dbContextType, optionsBuilder, serviceLifetime, configurator)); }
public PlayerInfoLibDbContext(IDbContextConfigurator configurator, IServiceProvider serviceProvider) : base(configurator, serviceProvider) { }