修改site关联

This commit is contained in:
2024-06-03 14:37:38 +08:00
parent 4db3860ade
commit 0e23719c7b
101 changed files with 354 additions and 3290 deletions
@@ -11,19 +11,8 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
public void Configure(EntityTypeBuilder<NoneDicomStudy> builder)
{
// builder
// .HasMany(s => s.TrialSiteUserList)
//.WithOne(c => c.DicomStudy)
//.HasForeignKey(s => new { s.TrialId, s.SiteId })
//.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
builder
.HasOne(s => s.TrialSite)
.WithMany(c => c.NoneDicomStudyList)
.HasForeignKey(s => new { s.TrialId, s.SiteId })
.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
}
}
}
@@ -12,11 +12,7 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
public void Configure(EntityTypeBuilder<ReadingPeriodSite> builder)
{
builder
.HasOne(s => s.TrialSite)
.WithMany(c => c.ReadingPeriodSites)
.HasForeignKey(s => new { s.TrialId, s.SiteId })
.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
}
}
}
@@ -11,19 +11,7 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
public void Configure(EntityTypeBuilder<DicomStudy> builder)
{
// builder
// .HasMany(s => s.TrialSiteUserList)
// .WithOne(c => c.DicomStudy)
//.HasForeignKey(s => new { s.TrialId, s.SiteId })
//.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
builder
.HasOne(s => s.TrialSite)
.WithMany(c => c.StudyList)
.HasForeignKey(s => new { s.TrialId, s.SiteId })
.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
builder
.HasMany(s => s.ReadingClinicalDataList)
@@ -12,20 +12,7 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
public void Configure(EntityTypeBuilder<StudyMonitor> builder)
{
// builder
// .HasMany(s => s.TrialSiteUserList)
//.WithOne(c => c.DicomStudy)
//.HasForeignKey(s => new { s.TrialId, s.SiteId })
//.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
//builder.Property(e => e.TotalMillisecondsInterval).HasValueGenerator<UploadTotalMillisecondsInterval>().ValueGeneratedOnAdd();
builder
.HasOne(s => s.TrialSite)
.WithMany(c => c.StudyMonitorList)
.HasForeignKey(s => new { s.TrialId, s.SiteId })
.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
}
}
@@ -11,19 +11,6 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
public void Configure(EntityTypeBuilder<Subject> builder)
{
// 从 Subject 到 TrialSiteUserList 会用两个建
//builder
//.HasMany(s => s.TrialSiteUserList)
//.WithOne(c => c.Subject)
//.HasForeignKey(s => new { s.TrialId, s.SiteId })
//.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
// 受试者 在项目中只有一个site 获取 TrialSiteCode 用两个键
builder
.HasOne(s => s.TrialSite)
.WithMany(c => c.SubjectList)
.HasForeignKey(s => new { s.TrialId, s.SiteId })
.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
//不能同时配置一对多 和一对一 但是有时表要存储多的最新的 比如受试者 最新的访视 在这里要显示配置
builder.HasOne(s => s.LatestSubjectVisit);
@@ -11,20 +11,7 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
public void Configure(EntityTypeBuilder<SubjectVisit> builder)
{
// SubjectVisit 从TrialSite 导航获取 TrialSiteCode 用两个键连接
builder
.HasOne(s => s.TrialSite)
.WithMany(c => c.SubjectVisitList)
.HasForeignKey(s => new { s.TrialId, s.SiteId })
.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
// 从 SubjectVisit 到 TrialSiteUserList 会用两个建 这里不行,添加受试者的时候,批量添加访视的时候,siteId trialId 会重复 所以不能这样搞
// modelBuilder.Entity<SubjectVisit>()
//.HasMany(s => s.TrialSiteUserList)
//.WithOne(c => c.SubjectVisit)
//.HasForeignKey(s => new { s.TrialId, s.SiteId })
//.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
builder.HasOne(s => s.Subject).WithMany(sv => sv.SubjectVisitList);
@@ -11,12 +11,7 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
public void Configure(EntityTypeBuilder<TrialSite> builder)
{
//从 TrialSite 导航到TrialUserSite Site下负责的CRC用户 )会用两个建 trial Site列表会用到
builder
.HasMany(s => s.CRCUserList)
.WithOne(c => c.TrialSite)
.HasForeignKey(s => new { s.TrialId, s.SiteId })
.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
}
}
@@ -36,18 +31,5 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
}
}
//public class SubjectCriteriaEvaluationVisitFilterConfigration : IEntityTypeConfiguration<SubjectCriteriaEvaluationVisitFilter>
//{
// public void Configure(EntityTypeBuilder<SubjectCriteriaEvaluationVisitFilter> builder)
// {
// builder
// .HasMany(s => s.SubjectCriterionTaskList)
// .WithOne(c => c.SubjectCriteriaEvaluationVisitFilter)
// .HasForeignKey(s => new { s.SubjectId, s.TrialReadingCriterionId })
// .HasPrincipalKey(c => new { c.SubjectId, c.TrialReadingCriterionId });
// }
//}
}
@@ -11,21 +11,8 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
public void Configure(EntityTypeBuilder<TrialSiteSurvey> builder)
{
// SubjectVisit 从TrialSite 导航获取 TrialSiteCode 用两个键连接
builder
.HasOne(s => s.TrialSite)
.WithMany(c => c.TrialSiteSurveyList)
.HasForeignKey(s => new { s.TrialId, s.SiteId })
.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
// 从 SubjectVisit 到 TrialSiteUserList 会用两个建 这里不行,添加受试者的时候,批量添加访视的时候,siteId trialId 会重复 所以不能这样搞
// modelBuilder.Entity<SubjectVisit>()
//.HasMany(s => s.TrialSiteUserList)
//.WithOne(c => c.SubjectVisit)
//.HasForeignKey(s => new { s.TrialId, s.SiteId })
//.HasPrincipalKey(c => new { c.TrialId, c.SiteId });
}
}
}