public static void ConfigurePostgres(this IObjectFactoryBuilder builder, string connectionString) { var ci = new Revenj.DatabasePersistence.Postgres.ConnectionInfo(connectionString); builder.RegisterSingleton(ci); builder.RegisterType<PostgresConnectionPool, IConnectionPool>(InstanceScope.Singleton); builder.RegisterType<PostgresQueryManager, IDatabaseQueryManager>(InstanceScope.Context); builder.RegisterType<PostgresDatabaseQuery, IPostgresDatabaseQuery>(); builder.RegisterFunc(c => c.Resolve<IDatabaseQueryManager>().CreateQuery(), InstanceScope.Context); builder.RegisterType<PostgresDatabaseNotification, IDataChangeNotification, IEagerNotification>(InstanceScope.Singleton); builder.RegisterType<PostgresObjectFactory, IPostgresConverterRepository, IPostgresConverterFactory>(InstanceScope.Singleton); builder.RegisterType<QueryExecutor>(); builder.RegisterSingleton<IPostgresVersionInfo>(new PostgresVersionInfo(ci)); builder.RegisterFunc(c => BulkReaderHelper.BulkRead(c, ChunkedMemoryStream.Create()), InstanceScope.Context); }
public static void ConfigurePostgres(this IObjectFactoryBuilder builder, string connectionString) { var ci = new Revenj.DatabasePersistence.Postgres.ConnectionInfo(connectionString); builder.RegisterSingleton(ci); builder.RegisterType <PostgresConnectionPool, IConnectionPool>(InstanceScope.Singleton); builder.RegisterType <PostgresQueryManager, IDatabaseQueryManager>(InstanceScope.Context); builder.RegisterType <PostgresDatabaseQuery, IPostgresDatabaseQuery>(); builder.RegisterFunc(c => c.Resolve <IDatabaseQueryManager>().CreateQuery(), InstanceScope.Context); builder.RegisterType <PostgresDatabaseNotification, IDataChangeNotification, IEagerNotification>(InstanceScope.Singleton); builder.RegisterType <PostgresObjectFactory, IPostgresConverterRepository, IPostgresConverterFactory>(InstanceScope.Singleton); builder.RegisterType <QueryExecutor>(); builder.RegisterSingleton <IPostgresVersionInfo>(new PostgresVersionInfo(ci)); builder.RegisterFunc(c => BulkReaderHelper.BulkRead(c, ChunkedMemoryStream.Create()), InstanceScope.Context); }