public static ContainerBuilder UseeMySql(this ContainerBuilder containerBuilder, Func <IComponentContext, MySqlConfiguration> mySqlConfiguration) { containerBuilder.Register <MySqlConfiguration>((Func <IComponentContext, MySqlConfiguration>)(context => { var configuration = mySqlConfiguration(context); return(configuration); })).As <IMySqlConfiguration>().SingleInstance(); containerBuilder.Register <EventStoreMySqlDbContext>((Func <IComponentContext, EventStoreMySqlDbContext>)(context => { var configuration = mySqlConfiguration(context); var dbContext = new EventStoreMySqlDbContext(DbContextOptionsFactory.Get(configuration.ConnectionString), configuration); return(dbContext); })).As <EventStoreMySqlDbContext>().IfNotRegistered(typeof(EventStoreMySqlDbContext)).SingleInstance(); return(containerBuilder); }
public PositionReaderService(ILifetimeScope container) { var _configuration = container.Resolve <IMySqlConfiguration>(); _dbContext = container.Resolve <EventStoreMySqlDbContext>(); }
public IdempotenceWriterService(ILifetimeScope container) { var _configuration = container.Resolve <IMySqlConfiguration>(); _dbContext = container.Resolve <EventStoreMySqlDbContext>(); }