using System; using System.Collections.Generic; using System.Data.Common; using System.Reflection.Emit; using Microsoft.EntityFrameworkCore; namespace EntityFrameWorkLib { public class TrekContext : DbContext { public DbSet Players { get; set; } public DbSet Game { get; set; } public DbSet Grille { get; set; } public DbSet Case { get; set; } public DbSet Turn { get; set; } public DbSet Score { get; set; } public TrekContext() { } public TrekContext(DbContextOptions options) : base(options) { } protected override void OnConfiguring(DbContextOptionsBuilder options) { if (!options.IsConfigured) { base.OnConfiguring(options.UseSqlite($"DataSource=projet.AllTables.db")); } } protected override void OnModelCreating(ModelBuilder modelBuilder) { //Définition de la clé primaire de PlayerEntity modelBuilder.Entity().HasKey(n => n.PlayerId); //Définition de la clé primaire de GameEntity modelBuilder.Entity().HasKey(n => n.GameId); //Définition de la clé primaire de GrilleEntity modelBuilder.Entity().HasKey(n => n.GrilleId); //Définition de la clé primaire de CaseEntity modelBuilder.Entity().HasKey(n => n.CaseId); //Définition de la clé primaire de TurnEntity modelBuilder.Entity().HasKey(n => n.TurnId); //Définition de la clé primaire de ScoreEntity modelBuilder.Entity().HasKey(n => n.ScoreId); //Définition du mode de generation de la clé : génération à l'insertion modelBuilder.Entity().Property(n => n.PlayerId).ValueGeneratedOnAdd(); modelBuilder.Entity().Property(n => n.GameId).ValueGeneratedOnAdd(); modelBuilder.Entity().Property(n => n.GrilleId).ValueGeneratedOnAdd(); modelBuilder.Entity().Property(n => n.CaseId).ValueGeneratedOnAdd(); modelBuilder.Entity().Property(n => n.TurnId).ValueGeneratedOnAdd(); modelBuilder.Entity().Property(n => n.ScoreId).ValueGeneratedOnAdd(); base.OnModelCreating(modelBuilder); } } }