irc-netcore-api/IRaCIS.Core.Infra.EFCore/EntityConfigration/SubjectVisitConfigration.cs

34 lines
1.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using IRaCIS.Core.Domain.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
{
public class SubjectVisitConfigration : IEntityTypeConfiguration<SubjectVisit>
{
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);
}
}
}