58 lines
2.3 KiB
C#
58 lines
2.3 KiB
C#
using IRaCIS.Core.Domain.Models;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
|
using System.Reflection.Emit;
|
|
|
|
|
|
namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
|
|
{
|
|
public class VisitTaskConfigration : IEntityTypeConfiguration<VisitTask>
|
|
{
|
|
|
|
|
|
public void Configure(EntityTypeBuilder<VisitTask> builder)
|
|
{
|
|
|
|
builder.HasMany(t => t.JudgeVisitList).WithOne(t => t.JudgeVisitTask);
|
|
|
|
|
|
builder.HasMany(t => t.TaskMedicalReviewList).WithOne(t => t.VisitTask).HasForeignKey(t => t.VisitTaskId);
|
|
|
|
builder.HasOne(t => t.Subject).WithMany(s => s.SubjectVisitTaskList).HasForeignKey(t => t.SubjectId);
|
|
|
|
builder.HasMany(t => t.TaskInfluenceList).WithOne(s => s.OriginalTask).HasForeignKey(t => t.OriginalTaskId);
|
|
|
|
|
|
builder.HasMany(t => t.GlobalVisitResultList).WithOne(s => s.GlobalVisitTask).HasForeignKey(t => t.GlobalTaskId);
|
|
|
|
|
|
|
|
builder.HasQueryFilter(b => b.Subject.IsDeleted == false);
|
|
|
|
|
|
//modelBuilder.Entity<TaskMedicalReviewRule>().HasMany(t => t.DoctorTrialVisitTaskList).WithOne(t => t.DoctorTaskMedicalReviewRule).HasForeignKey(t => new { t.DoctorUserId, t.TrialId }).HasPrincipalKey(u => new { u.DoctorUserId, u.TrialId });
|
|
|
|
//modelBuilder.Entity<TaskMedicalReviewRule>().HasMany(t => t.TaskMedicalReviewList).WithOne(t => t.TaskMedicalReviewRule).HasForeignKey(t => new { t.DoctorUserId, t.TrialId }).HasPrincipalKey(u => new { u.DoctorUserId, u.TrialId });
|
|
|
|
//会导致级联删除
|
|
//modelBuilder.Entity<SubjectUser>().HasMany(t => t.SubjectArmVisitTaskList).WithOne(t => t.SujectArm).HasForeignKey(t => new { t.SubjectId, t.ArmEnum }).HasPrincipalKey(u => new { u.SubjectId, u.ArmEnum })
|
|
// ./*IsRequired(false)*/OnDelete(DeleteBehavior.NoAction);
|
|
|
|
// builder.HasOne(t => t.SujectArm).WithMany(s => s.SubjectArmVisitTaskList).HasForeignKey(t => new { t.SubjectId, t.ArmEnum }).HasPrincipalKey(u => new { u.SubjectId, u.ArmEnum });
|
|
|
|
|
|
}
|
|
}
|
|
|
|
public class SubjectUserConfigration : IEntityTypeConfiguration<SubjectUser>
|
|
{
|
|
public void Configure(EntityTypeBuilder<SubjectUser> builder)
|
|
{
|
|
builder.HasMany(t => t.EarlierSubjectUserList).WithOne(t => t.OrignalSubjectUser);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|