DeathwatchDbContext.cs 10 KB

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