コード例 #1
0
ファイル: UserModule.cs プロジェクト: batuhankara/BOAZ
        protected override void Load(ContainerBuilder builder)
        {
            #region DbContext Registrations
            builder.Register(componentContext =>
            {
                var env            = componentContext.Resolve <IWebHostEnvironment>();
                bool isDevelopment = env.EnvironmentName == "Development";
                var configuration  = componentContext.Resolve <IConfiguration>();

                var optionsBuilder = new DbContextOptionsBuilder <UserSqlDbContext>()
                                     .UseNpgsql(configuration.GetReadStoreConnectionString(), option =>
                {
                    option.MigrationsHistoryTable("EFMigrationsHistory");
                });

                optionsBuilder.EnableSensitiveDataLogging(!isDevelopment);
                optionsBuilder.EnableDetailedErrors(isDevelopment);

                var context = new UserSqlDbContext(optionsBuilder.Options);
                context.Database.Migrate();
                return(context);
            }).AsSelf()
            .AsImplementedInterfaces()
            .InstancePerLifetimeScope();
            #endregion
            builder.RegisterType <PasswordService>().As <IPasswordService>().SingleInstance();
            builder.RegisterType <UserRepository>().As <IUserRepository>().InstancePerLifetimeScope();
            builder.RegisterType <UnitOfWork <IUserSqlDbContext> >().As <IUnitOfWork <IUserSqlDbContext> >().InstancePerLifetimeScope();
            builder.RegisterType <UserDatabaseInitializer>().As <IUserDatabaseInitializer>().InstancePerDependency();
        }
コード例 #2
0
 public UserDatabaseInitializer(UserSqlDbContext masterDbContext)
 {
     _dbContext = masterDbContext;
 }