using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Share; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IRaCIS.Core.Test.CodeFirstTest.MSSQL { [Table("TrialImageDownload")] public class TrialImageDownload : BaseFullAuditEntity { public Guid SubjectVisitId { get; set; } public bool IsSuccess { get; set; } public DateTime DownloadStartTime { get; set; } public DateTime? DownloadEndTime { get; set; } public ImageType ImageType { get; set; } public int ImageCount { get; set; } public long ImageSize { get; set; } #region 测试导航属性 public List TestNewList { get; set; } #endregion } public enum ImageType { Dicom = 1, NoneDIcom = 2 }; public class TestNew : BaseFullAuditEntity { public Guid TrialImageDownloadId { get; set; } [StringLength(100)] public string TestName { get; set; } } public class Subject : BaseFullAuditEntity { public string Name { get; set; } public Guid? LatestSubjectVisitId { get; set; } public Guid? FinalSubjectVisitId { get; set; } #region 同时配置一对多,一对一 导航属性 [ForeignKey("FinalSubjectVisitId")] public SubejectVisit FinalSubjectVisit { get; set; } [ForeignKey("LatestSubjectVisitId")] public SubejectVisit LatestSubjectVisit { get; set; } public List SubejectVisitList { get; set; } #endregion } public class SubejectVisit : BaseFullAuditEntity { public Subject Subject { get; set; } public Guid SubjectId { get; set; } } public class Dictionary : BaseFullAuditEntity { #region 导航属性 [ForeignKey("ConfigTypeId")] public Dictionary ConfigType { get; set; } [ForeignKey("ParentId")] public Dictionary Parent { get; set; } public List ChildList { get; set; } = new List(); #endregion public Guid? ParentId { get; set; } public Guid? ConfigTypeId { get; set; } public string Code { get; set; } } public class TestOne : BaseFullAuditEntity { public string Code { get; set; } [ForeignKey(nameof(TestOne.FinalTestMany))] public Guid? LatestTestManyId { get; set; } [ForeignKey(nameof(TestOne.LatestTestMany))] public Guid? FinalTestManyId { get; set; } #region 同时配置一对多,一对一 导航属性 public TestMany FinalTestMany { get; set; } public TestMany LatestTestMany { get; set; } public List TestManyList { get; set; } #endregion } public class TestMany : BaseFullAuditEntity { public TestOne TestOne { get; set; } public Guid TestOneId { get; set; } } }