1using Microsoft.EntityFrameworkCore;
12public static class DbContextOptionsFactory
40 public static DbContextOptions<ApplicationDbContext> Create(
string? connectionString =
default)
42 string? envConnectionString = Environment.GetEnvironmentVariable(
"TCLI_PORTFOLIO_CONNECTIONSTRINGS__DEFAULTCONNECTION");
43 return !
string.IsNullOrEmpty(envConnectionString)
44 ? OptionsBuilder(envConnectionString)
45 : connectionString is not null
46 ? OptionsBuilder(connectionString)
47 : OptionsBuilder(
"Host=localhost;Port=5434;Database=portfolio;Username=postgres;Password=postgres");
48 throw new NotSupportedException(
"DbContextOptionsFactory.Create() is only supported in DEBUG builds.");
56 private static DbContextOptions<ApplicationDbContext> OptionsBuilder(
string connectionString)
58 DbContextOptionsBuilder<ApplicationDbContext> optionsBuilder =
new();
59 _ = optionsBuilder.UseNpgsql(connectionString);
60 return optionsBuilder.Options;