using EstusShots.Server.Models; using Microsoft.EntityFrameworkCore; namespace EstusShots.Server.Services { public class EstusShotsContext : DbContext { public EstusShotsContext(DbContextOptions options) : base(options) { Database.EnsureCreated(); } public DbSet Seasons { get; set; } = default!; public DbSet Episodes { get; set; } = default!; public DbSet Players { get; set; } = default!; protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().ToTable(nameof(Season)); modelBuilder.Entity().ToTable(nameof(Episode)); modelBuilder.Entity() .HasKey(t => new {t.EpisodeId, t.PlayerId}); modelBuilder.Entity() .HasOne(pt => pt.Episode) .WithMany(p => p.EpisodePlayers) .HasForeignKey(pt => pt.EpisodeId); modelBuilder.Entity() .HasOne(pt => pt.Player) .WithMany(t => t.EpisodePlayers) .HasForeignKey(pt => pt.PlayerId); } } }