using LiteCharms.Features.MidrandBooks.Postgres; namespace LiteCharms.Features.MidrandBooks.Extensions; public static class Postgres { public const string MidrandBooksDbConfigName = "PostgresMidrandBooks"; public static IServiceCollection AddMidrandShopDatabase(this IServiceCollection services, IConfiguration configuration) { var connectionString = configuration.GetConnectionString(MidrandBooksDbConfigName); var dataSourceBuilder = new NpgsqlDataSourceBuilder(connectionString); dataSourceBuilder.ConfigureTypeLoading(options => { options.EnableTypeLoading(false); }); var dataSource = dataSourceBuilder.Build(); services.AddSingleton(dataSource); services.AddPooledDbContextFactory(options => options.UseNpgsql(dataSource)); return services; } }