Example #1
0
        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>();
        }