using Microsoft.EntityFrameworkCore; using TabletTester2025.Models; namespace TabletTester2025.Data { public class AppDbContext : DbContext { private readonly string _connectionString; public AppDbContext(string connectionString) { _connectionString = connectionString; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) optionsBuilder.UseSqlite(_connectionString); } public DbSet TestBatches { get; set; } public DbSet HardnessSamplePoints { get; set; } public DbSet DissolutionSamplePoints { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().ToTable("TestBatches"); modelBuilder.Entity().HasKey(t => t.Id); modelBuilder.Entity().ToTable("HardnessSamplePoints"); modelBuilder.Entity().HasKey(t => t.Id); modelBuilder.Entity() .HasOne() .WithMany(t => t.HardnessSamples) .HasForeignKey(t => t.TestBatchId) .OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().ToTable("DissolutionSamplePoints"); modelBuilder.Entity().HasKey(t => t.Id); modelBuilder.Entity() .HasOne() .WithMany(t => t.DissolutionSamples) .HasForeignKey(t => t.TestBatchId) .OnDelete(DeleteBehavior.Cascade); base.OnModelCreating(modelBuilder); } } }