public static void AddDatabase(this IServiceCollection services, IConfigurationRoot configuration) { switch (configuration.GetValue <string>("AHNET_DBTYPE").ToLower()) { case "postgres": case "postgresql": case "pgsql": var connectionString = new PostgreSqlConnectionString() { DatabaseHost = configuration.GetValue <string>("AHNET_DBHOST") ?? string.Empty, DatabaseName = configuration.GetValue <string>("AHNET_DBNAME") ?? string.Empty, DatabaseOwner = configuration.GetValue <string>("AHNET_DBOWNER") ?? string.Empty, DatabasePassword = configuration.GetValue <string>("AHNET_DBPASSWORD") ?? string.Empty, DatabasePort = configuration.GetValue <string>("AHNET_DBPORT") ?? string.Empty, DatabasePooling = configuration.GetValue <string>("AHNET_DBPOOLING") ?? string.Empty }.ToString(); services.AddDbContext <AHNetDbContext>(options => options.UseNpgsql(connectionString)); break; case "inmemory": case "inmem": case "in-memory": services.AddDbContext <AHNetDbContext>(options => options.UseInMemoryDatabase()); break; default: throw new Exception("No database specified."); } }
public PostgreSqlDbContextProvider(PostgreSqlConnectionString postgreSqlConnectionString) { _options = new DbContextOptionsBuilder <TestDbContext>() .UseNpgsql(postgreSqlConnectionString.Value) .Options; }