Files
GukSang.Jin 69557bc108 更新122
2026-05-19 20:33:16 +08:00

46 lines
1.8 KiB
C#

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<TestBatch> TestBatches { get; set; }
public DbSet<HardnessSamplePoint> HardnessSamplePoints { get; set; }
public DbSet<DissolutionSamplePoint> DissolutionSamplePoints { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<TestBatch>().ToTable("TestBatches");
modelBuilder.Entity<TestBatch>().HasKey(t => t.Id);
modelBuilder.Entity<HardnessSamplePoint>().ToTable("HardnessSamplePoints");
modelBuilder.Entity<HardnessSamplePoint>().HasKey(t => t.Id);
modelBuilder.Entity<HardnessSamplePoint>()
.HasOne<TestBatch>()
.WithMany(t => t.HardnessSamples)
.HasForeignKey(t => t.TestBatchId)
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<DissolutionSamplePoint>().ToTable("DissolutionSamplePoints");
modelBuilder.Entity<DissolutionSamplePoint>().HasKey(t => t.Id);
modelBuilder.Entity<DissolutionSamplePoint>()
.HasOne<TestBatch>()
.WithMany(t => t.DissolutionSamples)
.HasForeignKey(t => t.TestBatchId)
.OnDelete(DeleteBehavior.Cascade);
base.OnModelCreating(modelBuilder);
}
}
}