27 lines
870 B
C#
27 lines
870 B
C#
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<MidrandBooksDbContext>(options =>
|
|
options.UseNpgsql(dataSource));
|
|
|
|
return services;
|
|
}
|
|
}
|