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

167 lines
3.7 KiB
C#

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
{
public abstract class BaseFullAuditEntity
{
[Key]
public Guid Id { get; set; }
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
}
[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; }
}
#region 一个外键 关联两个实体
public class ReadingClinicalData : BaseFullAuditEntity
{
public string Code { get; set; }
public Guid ReadingId { get; set; }
[ForeignKey("ReadingId")]
public SubejectVisit SubjectVisit { get; set; }
[ForeignKey("ReadingId")]
public ReadModule ReadModule { get; set; }
}
public class ReadModule : BaseFullAuditEntity
{
public string Name { get; set; }
}
#endregion
#region 测试 字符串默认长度配置
public class TestStringLength : BaseFullAuditEntity
{
public string DefaultLength { get; set; }
[MaxLength(300)]
public string UserDefineLength { get; set; }
[Column(TypeName = "text")]
public string UserDefineText { get; set; }
}
#endregion
#region 测试生成迁移移除外键约束
#endregion
public class Project : BaseFullAuditEntity
{
}
public class ProjectUser: BaseFullAuditEntity
{
//外键
public Guid ProjectId { get; set; }
public Project Project { get; set; }
}
}