public static void ConfigurarProviderBanco(this ContainerBuilder builder, AppSettings appSettings) { DapperExtensions.DapperExtensions.ClearCache(); DapperExtensions.Sql.ISqlDialect sqlDialect = GetDialeto(); DapperExtensions.IDapperExtensionsConfiguration config = new DapperExtensions.DapperExtensionsConfiguration( typeof(AutoClassMapper <>), new[] { typeof(Data.DBModel.ModuloProduto).Assembly, }, GetDialeto() ); DapperExtensions.DapperExtensions.Configure(config); SqlMapper.RemoveTypeMap(typeof(bool)); SqlMapper.AddTypeHandler(typeof(bool), new BoolSqlMapper()); builder.Register <DapperExtensions.Sql.ISqlGenerator>(a => new DapperExtensions.Sql.SqlGeneratorImpl(config)); builder.Register <IDbProvider>(ctx => new DefaultPostgresqlDbProvider(appSettings.DBProviderFactory)).AsImplementedInterfaces().SingleInstance(); //Conexão com banco builder.Register <IDbConnectionFactory>(ctx => new DefaultConnectionFactory(ctx.Resolve <IDbProvider>(), appSettings.ConnectionString)).AsImplementedInterfaces(); builder.Register <IDbContextFactory>(ctx => new DefaultContextFactory <DefaultDbContext>(ctx.Resolve <IServiceProvider>(), ctx.Resolve <IDbConnectionFactory>())).AsImplementedInterfaces(); }
public void ConfigurarProviderBanco(ContainerBuilder builder) { DapperExtensions.DapperExtensions.ClearCache(); DapperExtensions.Sql.ISqlDialect sqlDialect = GetDialeto(); DapperExtensions.IDapperExtensionsConfiguration config = new DapperExtensions.DapperExtensionsConfiguration( typeof(AutoClassMapper <>), new[] { typeof(ModuloClassMapper).Assembly, }, GetDialeto() ); DapperExtensions.DapperExtensions.Configure(config); SqlMapper.RemoveTypeMap(typeof(bool)); SqlMapper.AddTypeHandler(typeof(bool), new BoolSqlMapper()); builder.Register <DapperExtensions.Sql.ISqlGenerator>(a => new DapperExtensions.Sql.SqlGeneratorImpl(config)); builder.Register <IDbProvider>(ctx => new DefaultPostgresqlDbProvider("Npgsql")).AsImplementedInterfaces().SingleInstance(); //Conexão com banco builder.Register <IDbConnectionFactory>(ctx => new DefaultConnectionFactory(ctx.Resolve <IDbProvider>(), "host=localhost;port=1234;database=Eshopping;user id=postgres;password=1234;")).AsImplementedInterfaces(); builder.Register <IDbContextFactory>(ctx => new DefaultContextFactory <DefaultDbContext>(new AutofacServiceProvider(AutofacContainer), ctx.Resolve <IDbConnectionFactory>())).AsImplementedInterfaces(); }