simple-lis/HL7DbContext.cs
2024-12-12 17:09:08 +05:30

34 lines
925 B
C#

namespace SimpleLIS;
using Microsoft.EntityFrameworkCore;
using SimpleLIS.Models;
public class HL7DbContext : DbContext
{
public DbSet<Message> Messages { get; set; }
public DbSet<Patient> Patients { get; set; }
public DbSet<Observation> Observations { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=hl7.db");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Message>()
.HasKey(m => m.MessageId);
modelBuilder.Entity<Patient>()
.HasKey(p => p.PatientId);
modelBuilder.Entity<Observation>()
.HasKey(o => o.ObservationId);
modelBuilder.Entity<Message>()
.HasMany(m => m.Observations)
.WithOne(o => o.Message)
.HasForeignKey(o => o.MessageId);
}
}