public static ContainerBuilder UseeEfCore(this ContainerBuilder containerBuilder, Func <IComponentContext, EfCoreConfiguration> efCoreConfiguration) { containerBuilder.Register <EfCoreConfiguration>((Func <IComponentContext, EfCoreConfiguration>)(context => { var configuration = efCoreConfiguration(context); containerBuilder.RegisterInstance(configuration).As <IEfCoreConfiguration>() .IfNotRegistered(typeof(IEfCoreConfiguration)).SingleInstance(); return(configuration); })).As <IEfCoreConfiguration>().SingleInstance(); containerBuilder.Register <EventStoreEfCoreDbContext>((Func <IComponentContext, EventStoreEfCoreDbContext>)(context => { var configuration = efCoreConfiguration(context); var dbContext = new EventStoreEfCoreDbContext(DbContextOptionsFactory.Get(configuration.ConnectionString)); return(dbContext); })).As <EventStoreEfCoreDbContext>().IfNotRegistered(typeof(EventStoreEfCoreDbContext)).SingleInstance(); return(containerBuilder); }
public IdempotenceWriterService(ILifetimeScope container) { var _configuration = container.Resolve <IEfCoreConfiguration>(); _dbContext = container.Resolve <EventStoreEfCoreDbContext>(); }
public PositionReaderService(ILifetimeScope container) { var _configuration = container.Resolve <IEfCoreConfiguration>(); _dbContext = container.Resolve <EventStoreEfCoreDbContext>(); }