using dotenv.net; using dotenv.net.Utilities; using Microsoft.EntityFrameworkCore; using Pf2eModel.Model.Base; using Pf2eModel.Model.Base.Keywords; using Pf2eModel.Model.Base.Source; using Pf2eModel.Model.Base.Targets; using Pf2eModel.Model.Common; using Pf2eModel.Model.Common.I18n; using Pf2eModel.Model.Enum; using Pf2eModel.Model.Structure; using Pf2eModel.Model.Structure.AncestryRelation; using Pf2eModel.Model.Structure.BackgroundRelation; using Pf2eModel.Model.Structure.ClassRelation; using Pf2eModel.Model.Structure.DeityRelation; using Pf2eModel.Model.Structure.FeatRelation; using Pf2eModel.Model.Structure.SpellRelation; namespace Pf2eModel; public partial class Pf2eDbContext : DbContext { public Pf2eDbContext() { } public Pf2eDbContext(DbContextOptions options) : base(options) { } #region DbSets public virtual DbSet Actions { get; set; } public virtual DbSet Ancestries { get; set; } public virtual DbSet Archetypes { get; set; } public virtual DbSet AncestryBoosts { get; set; } public virtual DbSet AncestryItems { get; set; } public virtual DbSet AncestryLanguages { get; set; } public virtual DbSet Backgrounds { get; set; } public virtual DbSet BackgroundBoosts { get; set; } public virtual DbSet BackgroundItems { get; set; } public virtual DbSet BackgroundSkills { get; set; } public virtual DbSet Classes { get; set; } public virtual DbSet ClassKeyAbilities { get; set; } public virtual DbSet ClassProgressions { get; set; } public virtual DbSet ClassTrainings { get; set; } public virtual DbSet SubclassGroups { get; set; } public virtual DbSet Subclasses { get; set; } public virtual DbSet Conditions { get; set; } public virtual DbSet Deities { get; set; } public virtual DbSet DeityAttributes { get; set; } public virtual DbSet DeityDomains { get; set; } public virtual DbSet DeitySpells { get; set; } public virtual DbSet DeityWeapons { get; set; } public virtual DbSet Entities { get; set; } public virtual DbSet EntityExternals { get; set; } public virtual DbSet EntitySources { get; set; } public virtual DbSet ExternalTargets { get; set; } public virtual DbSet Feats { get; set; } public virtual DbSet FeatPrerequisites { get; set; } public virtual DbSet Frequencies { get; set; } public virtual DbSet Heritages { get; set; } public virtual DbSet Keywords { get; set; } public virtual DbSet KeywordAliases { get; set; } public virtual DbSet Languages { get; set; } public virtual DbSet Sources { get; set; } public virtual DbSet Spells { get; set; } public virtual DbSet SpellAreas { get; set; } public virtual DbSet SpellDamages { get; set; } public virtual DbSet SpellDefenses { get; set; } public virtual DbSet SpellRituals { get; set; } public virtual DbSet Trainings { get; set; } public virtual DbSet Traits { get; set; } #endregion protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { DotEnv.Load(options: new DotEnvOptions(probeForEnv: true, probeLevelsToSearch: 2)); string databaseCnnection = EnvReader.GetStringValue("DATABASE_CONNECTION"); // optionsBuilder.LogTo(Console.WriteLine); optionsBuilder.UseSnakeCaseNamingConvention(); optionsBuilder.UseNpgsql( databaseCnnection, builder => { builder .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum() .MapEnum(); } ); } }