DeathwatchDbContext.cs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. using Domain;
  2. using Domain.Weapons;
  3. using Domain.XML_Model;
  4. using Microsoft.EntityFrameworkCore;
  5. namespace DataLayer;
  6. public class DeathwatchDbContext : DbContext
  7. {
  8. public DeathwatchDbContext()
  9. {
  10. }
  11. public DeathwatchDbContext(DbContextOptions<DeathwatchDbContext> options) : base(options)
  12. {
  13. }
  14. public DbSet<Player> Players { get; set; }
  15. public DbSet<Weapon> Weapons { get; set; }
  16. public DbSet<Extension> Extensions { get; set; }
  17. public DbSet<Accessoire> Accessoires { get; set; }
  18. public DbSet<Root> Roots { get; set; }
  19. public DbSet<Extension> Extension { get; set; }
  20. public DbSet<Competence> Competences { get; set; }
  21. public DbSet<Amélioration> Améliorations { get; set; }
  22. public DbSet<Archétype> Archétypes { get; set; }
  23. public DbSet<Arme> Armes { get; set; }
  24. public DbSet<Armure> Armures { get; set; }
  25. public DbSet<Assermentation> Assermentations { get; set; }
  26. public DbSet<Attribut> Attributs { get; set; }
  27. public DbSet<Carrière> Carrières { get; set; }
  28. public DbSet<Coordonnée> Coordonnées { get; set; }
  29. public DbSet<Cybernétique> Cybernétiques { get; set; }
  30. public DbSet<Discipline> Disciplines { get; set; }
  31. public DbSet<Divination> Divinations { get; set; }
  32. public DbSet<Equipement> Equipements { get; set; }
  33. public DbSet<Implant> Implants { get; set; }
  34. public DbSet<Monde> Mondes { get; set; }
  35. public DbSet<Mutation> Mutations { get; set; }
  36. public DbSet<Pouvoir> Pouvoirs { get; set; }
  37. public DbSet<Promote> Promotions { get; set; }
  38. public DbSet<Seuil> Seuils { get; set; }
  39. public DbSet<Sousmonde> Sousmondes { get; set; }
  40. public DbSet<Talent> Talents { get; set; }
  41. public DbSet<Trait> Traits { get; set; }
  42. public DbSet<Trouble> Troubles { get; set; }
  43. public DbSet<TypeMonde> TypeMondes { get; set; }
  44. public DbSet<TypeName> TypesNom { get; set; }
  45. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  46. {
  47. if (!optionsBuilder.IsConfigured)
  48. {
  49. //optionsBuilder.UseSqlServer("Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=ReadersDB");
  50. }
  51. }
  52. protected override void OnModelCreating(ModelBuilder modelBuilder)
  53. {
  54. // Player and Weapon relationship
  55. modelBuilder.Entity<Player>()
  56. .HasMany(p => p.Weapons)
  57. .WithMany(w => w.Players)
  58. .UsingEntity(j => j.ToTable("PlayerWeapons"));
  59. //// Extension table configuration
  60. //modelBuilder.Entity<Extension>().ToTable("Extensions");
  61. //// Accessoire table configuration
  62. //modelBuilder.Entity<Accessoire>().ToTable("Accessoires");
  63. //// Amelioration table configuration
  64. //modelBuilder.Entity<Amelioration>().ToTable("Ameliorations");
  65. // Additional configurations for XML Model classes
  66. modelBuilder.Entity<Extension>().ToTable("Extensions");
  67. modelBuilder.Entity<Accessoire>().ToTable("Accessoires");
  68. modelBuilder.Entity<Amélioration>().ToTable("Améliorations");
  69. modelBuilder.Entity<Archétype>().ToTable("Archétypes");
  70. modelBuilder.Entity<Arme>().ToTable("Armes");
  71. modelBuilder.Entity<Armure>().ToTable("Armures");
  72. modelBuilder.Entity<Assermentation>().ToTable("Assermentations");
  73. modelBuilder.Entity<Attribut>().ToTable("Attributs");
  74. modelBuilder.Entity<Carrière>().ToTable("Carrières");
  75. modelBuilder.Entity<Competence>().ToTable("Competences");
  76. modelBuilder.Entity<Coordonnée>().ToTable("Coordonnées");
  77. modelBuilder.Entity<Cybernétique>().ToTable("Cybernétiques");
  78. modelBuilder.Entity<Discipline>().ToTable("Disciplines");
  79. modelBuilder.Entity<Divination>().ToTable("Divinations");
  80. modelBuilder.Entity<Equipement>().ToTable("Equipements");
  81. modelBuilder.Entity<Implant>().ToTable("Implants");
  82. modelBuilder.Entity<Monde>().ToTable("Mondes");
  83. modelBuilder.Entity<Mutation>().ToTable("Mutations");
  84. modelBuilder.Entity<Pouvoir>().ToTable("Pouvoirs");
  85. modelBuilder.Entity<Promote>().ToTable("Promotions");
  86. modelBuilder.Entity<Seuil>().ToTable("Seuils");
  87. modelBuilder.Entity<Sousmonde>().ToTable("Sousmondes");
  88. modelBuilder.Entity<Talent>().ToTable("Talents");
  89. modelBuilder.Entity<Trait>().ToTable("Traits");
  90. modelBuilder.Entity<Trouble>().ToTable("Troubles");
  91. modelBuilder.Entity<TypeMonde>().ToTable("TypeMondes");
  92. modelBuilder.Entity<TypeName>().ToTable("TypesNom");
  93. //modelBuilder.Entity<AccessoiresArmes>()
  94. // .HasMany(a => a.Accessoire)
  95. // .WithOne()
  96. // .HasForeignKey(x => x.AccessoireId);
  97. //modelBuilder.Entity<Améliorations>()
  98. // .HasMany(a => a.Amélioration)
  99. // .WithOne()
  100. // .HasForeignKey(x => x.AméliorationId);
  101. //modelBuilder.Entity<Archétypes>()
  102. // .HasMany(a => a.Archétype)
  103. // .WithOne()
  104. // .HasForeignKey(x => x.ArchétypeId);
  105. //modelBuilder.Entity<Armes>()
  106. // .HasMany(a => a.Arme)
  107. // .WithOne()
  108. // .HasForeignKey(x => x.ArmeId);
  109. //modelBuilder.Entity<Armures>()
  110. // .HasMany(a => a.Armure)
  111. // .WithOne()
  112. // .HasForeignKey(x => x.ArmureId);
  113. //modelBuilder.Entity<Assermentations>()
  114. // .HasMany(a => a.Assermentation)
  115. // .WithOne()
  116. // .HasForeignKey(x => x.AssermentationId);
  117. //modelBuilder.Entity<AttributsArmes>()
  118. // .HasMany(a => a.Attribut)
  119. // .WithOne()
  120. // .HasForeignKey(x => x.AttributId);
  121. //modelBuilder.Entity<Carrières>()
  122. // .HasMany(c => c.Carrière)
  123. // .WithOne()
  124. // .HasForeignKey(x => x.CarrièreId);
  125. //modelBuilder.Entity<Competences>()
  126. // .HasMany(c => c.Competence)
  127. // .WithOne()
  128. // .HasForeignKey(x => x.CompetenceId);
  129. //modelBuilder.Entity<Coordonnées>()
  130. // .HasMany(c => c.Coordonnée)
  131. // .WithOne()
  132. // .HasForeignKey(x => x.CoordonnéeId);
  133. //modelBuilder.Entity<Cybernétiques>()
  134. // .HasMany(c => c.Cybernétique)
  135. // .WithOne()
  136. // .HasForeignKey(x => x.CybernétiqueId);
  137. //modelBuilder.Entity<Disciplines>()
  138. // .HasMany(d => d.Discipline)
  139. // .WithOne()
  140. // .HasForeignKey(x => x.DisciplineId);
  141. //modelBuilder.Entity<Divinations>()
  142. // .HasMany(d => d.Divination)
  143. // .WithOne()
  144. // .HasForeignKey(x => x.DivinationId);
  145. //modelBuilder.Entity<Equipements>()
  146. // .HasMany(e => e.Equipement)
  147. // .WithOne()
  148. // .HasForeignKey(x => x.EquipementId);
  149. //modelBuilder.Entity<Implants>()
  150. // .HasMany(i => i.Implant)
  151. // .WithOne()
  152. // .HasForeignKey(x => x.ImplantId);
  153. //modelBuilder.Entity<Mondes>()
  154. // .HasMany(m => m.Monde)
  155. // .WithOne()
  156. // .HasForeignKey(x => x.MondeId);
  157. //modelBuilder.Entity<Mutations>()
  158. // .HasMany(m => m.Mutation)
  159. // .WithOne()
  160. // .HasForeignKey(x => x.MutationId);
  161. //modelBuilder.Entity<Pouvoirs>()
  162. // .HasMany(p => p.Pouvoir)
  163. // .WithOne()
  164. // .HasForeignKey(x => x.PouvoirId);
  165. //modelBuilder.Entity<Promotions>()
  166. // .HasMany(p => p.Promotion)
  167. // .WithOne()
  168. // .HasForeignKey(x => x.PromotionId);
  169. //modelBuilder.Entity<SeuilsXp>()
  170. // .HasMany(s => s.Seuil)
  171. // .WithOne()
  172. // .HasForeignKey(x => x.SeuilId);
  173. //modelBuilder.Entity<Sousmondes>()
  174. // .HasMany(s => s.Sousmonde)
  175. // .WithOne()
  176. // .HasForeignKey(x => x.SousmondeId);
  177. //modelBuilder.Entity<Talents>()
  178. // .HasMany(t => t.Talent)
  179. // .WithOne()
  180. // .HasForeignKey(x => x.TalentId);
  181. //modelBuilder.Entity<Traits>()
  182. // .HasMany(t => t.Trait)
  183. // .WithOne()
  184. // .HasForeignKey(x => x.TraitId);
  185. //modelBuilder.Entity<Troubles>()
  186. // .HasMany(t => t.Trouble)
  187. // .WithOne()
  188. // .HasForeignKey(x => x.TroubleId);
  189. //modelBuilder.Entity<TypeMondes>()
  190. // .HasMany(t => t.TypeMonde)
  191. // .WithOne()
  192. // .HasForeignKey(x => x.TypeMondeId);
  193. //modelBuilder.Entity<TypesNom>()
  194. // .HasMany(t => t.TypeNom)
  195. // .WithOne()
  196. // .HasForeignKey(x => x.TypeNomId);
  197. }
  198. }