using Domain; using Domain.Weapons; using Domain.XML_Model; using Microsoft.EntityFrameworkCore; namespace DataLayer; public class DeathwatchDbContext : DbContext { public DeathwatchDbContext() { } public DeathwatchDbContext(DbContextOptions options) : base(options) { } 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; } 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); } }