using IRaCIS.Core.Domain.Models; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace IRaCIS.Core.Infra.EFCore.EntityConfigration { public class StudyConfigration : IEntityTypeConfiguration { /// /// 一个外键,关联多个表 /// /// public void Configure(EntityTypeBuilder builder) { builder .HasMany(s => s.ReadingClinicalDataList) .WithOne(c => c.DicomStudy) .HasForeignKey(s => new { s.StudyId }) .HasPrincipalKey(c => new { c.Id }); builder .HasMany(s => s.ReadingConsistentClinicalDataList) .WithOne(c => c.DicomStudy) .HasForeignKey(s => new { s.StudyId }) .HasPrincipalKey(c => new { c.Id }); } } public class ReadModuleConfigration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasOne(t => t.SubjectVisit).WithMany(t => t.ReadModuleList).HasForeignKey(t => t.SubjectVisitId); } } }