irc-netcore-api/IRaCIS.Core.Test/CodeFirstTest/MSSQL/TrialImageDownload.cs

135 lines
3.0 KiB
C#

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<TestNew> 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<SubejectVisit> 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<Dictionary> ChildList { get; set; } = new List<Dictionary>();
#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<TestMany> TestManyList { get; set; }
#endregion
}
public class TestMany : BaseFullAuditEntity
{
public TestOne TestOne { get; set; }
public Guid TestOneId { get; set; }
}
}