using Domain; using Domain.Weapons; using Domain.XML_Model; using Microsoft.EntityFrameworkCore; namespace DataLayer; public class DeathwatchDbContext : DbContext { public DbSet Players { get; set; } public DbSet Weapons { get; set; } public DbSet Extensions { get; set; } public DbSet Accessoires { get; set; } public DbSet Roots { get; set; } public DbSet Extension { get; set; } public DbSet Competences { get; set; } public DbSet Améliorations { get; set; } public DbSet Archétypes { get; set; } public DbSet Armes { get; set; } public DbSet Armures { get; set; } public DbSet Assermentations { get; set; } public DbSet Attributs { get; set; } public DbSet Carrières { get; set; } public DbSet Coordonnées { get; set; } public DbSet Cybernétiques { get; set; } public DbSet Disciplines { get; set; } public DbSet Divinations { get; set; } public DbSet Equipements { get; set; } public DbSet Implants { get; set; } public DbSet Mondes { get; set; } public DbSet Mutations { get; set; } public DbSet Pouvoirs { get; set; } public DbSet Promotions { get; set; } public DbSet Seuils { get; set; } public DbSet Sousmondes { get; set; } public DbSet Talents { get; set; } public DbSet Traits { get; set; } public DbSet Troubles { get; set; } public DbSet TypeMondes { get; set; } public DbSet TypesNom { get; set; } public DbSet AllAccessoiresArmes { get; set; } public DbSet AllAméliorations { get; set; } public DbSet AllArchétypes { get; set; } public DbSet AllArmes { get; set; } public DbSet AllArmures { get; set; } public DbSet AllAssermentations { get; set; } public DbSet AllAttributsArmes { get; set; } public DbSet AllCarrières { get; set; } public DbSet AllCompetences { get; set; } public DbSet AllCoordonnées { get; set; } public DbSet AllCybernétiques { get; set; } public DbSet AllDisciplines { get; set; } public DbSet AllDivinations { get; set; } public DbSet AllEquipements { get; set; } public DbSet AllImplants { get; set; } public DbSet AllMondes { get; set; } public DbSet AllMutations { get; set; } public DbSet AllPouvoirs { get; set; } public DbSet AllPromotions { get; set; } public DbSet AllSeuilsXp { get; set; } public DbSet AllSousmondes { get; set; } public DbSet AllTalents { get; set; } public DbSet AllTraits { get; set; } public DbSet AllTroubles { get; set; } public DbSet AllTypeMondes { get; set; } public DbSet AllTypesNom { get; set; } public DeathwatchDbContext() : base() { } public DeathwatchDbContext(DbContextOptions options) : base(options) { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { //optionsBuilder.UseSqlServer("Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=ReadersDB"); } } protected override void OnModelCreating(ModelBuilder modelBuilder) { // Player and Weapon relationship modelBuilder.Entity() .HasMany(p => p.Weapons) .WithMany(w => w.Players) .UsingEntity(j => j.ToTable("PlayerWeapons")); //// Extension table configuration //modelBuilder.Entity().ToTable("Extensions"); //// Accessoire table configuration //modelBuilder.Entity().ToTable("Accessoires"); //// Amelioration table configuration //modelBuilder.Entity().ToTable("Ameliorations"); // Additional configurations for XML Model classes modelBuilder.Entity().ToTable("Extensions"); modelBuilder.Entity().ToTable("Accessoires"); modelBuilder.Entity().ToTable("Améliorations"); modelBuilder.Entity().ToTable("Archétypes"); modelBuilder.Entity().ToTable("Armes"); modelBuilder.Entity().ToTable("Armures"); modelBuilder.Entity().ToTable("Assermentations"); modelBuilder.Entity().ToTable("Attributs"); modelBuilder.Entity().ToTable("Carrières"); modelBuilder.Entity().ToTable("Competences"); modelBuilder.Entity().ToTable("Coordonnées"); modelBuilder.Entity().ToTable("Cybernétiques"); modelBuilder.Entity().ToTable("Disciplines"); modelBuilder.Entity().ToTable("Divinations"); modelBuilder.Entity().ToTable("Equipements"); modelBuilder.Entity().ToTable("Implants"); modelBuilder.Entity().ToTable("Mondes"); modelBuilder.Entity().ToTable("Mutations"); modelBuilder.Entity().ToTable("Pouvoirs"); modelBuilder.Entity().ToTable("Promotions"); modelBuilder.Entity().ToTable("Seuils"); modelBuilder.Entity().ToTable("Sousmondes"); modelBuilder.Entity().ToTable("Talents"); modelBuilder.Entity().ToTable("Traits"); modelBuilder.Entity().ToTable("Troubles"); modelBuilder.Entity().ToTable("TypeMondes"); modelBuilder.Entity().ToTable("TypesNom"); modelBuilder.Entity() .HasMany(a => a.Accessoire) .WithOne() .HasForeignKey(x => x.AccessoireId); modelBuilder.Entity() .HasMany(a => a.Amélioration) .WithOne() .HasForeignKey(x => x.AméliorationId); modelBuilder.Entity() .HasMany(a => a.Archétype) .WithOne() .HasForeignKey(x => x.ArchétypeId); modelBuilder.Entity() .HasMany(a => a.Arme) .WithOne() .HasForeignKey(x => x.ArmeId); modelBuilder.Entity() .HasMany(a => a.Armure) .WithOne() .HasForeignKey(x => x.ArmureId); modelBuilder.Entity() .HasMany(a => a.Assermentation) .WithOne() .HasForeignKey(x => x.AssermentationId); modelBuilder.Entity() .HasMany(a => a.Attribut) .WithOne() .HasForeignKey(x => x.AttributId); modelBuilder.Entity() .HasMany(c => c.Carrière) .WithOne() .HasForeignKey(x => x.CarrièreId); modelBuilder.Entity() .HasMany(c => c.Competence) .WithOne() .HasForeignKey(x => x.CompetenceId); modelBuilder.Entity() .HasMany(c => c.Coordonnée) .WithOne() .HasForeignKey(x => x.CoordonnéeId); modelBuilder.Entity() .HasMany(c => c.Cybernétique) .WithOne() .HasForeignKey(x => x.CybernétiqueId); modelBuilder.Entity() .HasMany(d => d.Discipline) .WithOne() .HasForeignKey(x => x.DisciplineId); modelBuilder.Entity() .HasMany(d => d.Divination) .WithOne() .HasForeignKey(x => x.DivinationId); modelBuilder.Entity() .HasMany(e => e.Equipement) .WithOne() .HasForeignKey(x => x.EquipementId); modelBuilder.Entity() .HasMany(i => i.Implant) .WithOne() .HasForeignKey(x => x.ImplantId); modelBuilder.Entity() .HasMany(m => m.Monde) .WithOne() .HasForeignKey(x => x.MondeId); modelBuilder.Entity() .HasMany(m => m.Mutation) .WithOne() .HasForeignKey(x => x.MutationId); modelBuilder.Entity() .HasMany(p => p.Pouvoir) .WithOne() .HasForeignKey(x => x.PouvoirId); modelBuilder.Entity() .HasMany(p => p.Promotion) .WithOne() .HasForeignKey(x => x.PromotionId); modelBuilder.Entity() .HasMany(s => s.Seuil) .WithOne() .HasForeignKey(x => x.SeuilId); modelBuilder.Entity() .HasMany(s => s.Sousmonde) .WithOne() .HasForeignKey(x => x.SousmondeId); modelBuilder.Entity() .HasMany(t => t.Talent) .WithOne() .HasForeignKey(x => x.TalentId); modelBuilder.Entity() .HasMany(t => t.Trait) .WithOne() .HasForeignKey(x => x.TraitId); modelBuilder.Entity() .HasMany(t => t.Trouble) .WithOne() .HasForeignKey(x => x.TroubleId); modelBuilder.Entity() .HasMany(t => t.TypeMonde) .WithOne() .HasForeignKey(x => x.TypeMondeId); modelBuilder.Entity() .HasMany(t => t.TypeNom) .WithOne() .HasForeignKey(x => x.TypeNomId); } }