Files
CSI-Z420-Tablet-Multi-Funct…/Helpers/AppDbContext.cs
2026-05-18 14:06:04 +08:00

38 lines
1.4 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<DissolutionSamplePoint> DissolutionSamplePoints { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<TestBatch>().ToTable("TestBatches");
modelBuilder.Entity<TestBatch>().HasKey(t => t.Id);
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);
}
}
}