ExamOrg.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Furion.DatabaseAccessor;
  2. using Microsoft.EntityFrameworkCore;
  3. using Microsoft.EntityFrameworkCore.Metadata.Builders;
  4. using System;
  5. using System.ComponentModel.DataAnnotations;
  6. namespace YBEE.EQM.Core;
  7. /// <summary>
  8. /// 监测机构
  9. /// </summary>
  10. [Comment("监测机构")]
  11. public class ExamOrg : DEntityBase, IEntityTypeBuilder<ExamOrg>
  12. {
  13. /// <summary>
  14. /// 监测计划ID
  15. /// </summary>
  16. [Comment("监测计划ID")]
  17. [Required]
  18. public int ExamPlanId { get; set; }
  19. /// <summary>
  20. /// 监测机构ID
  21. /// </summary>
  22. [Comment("监测机构ID")]
  23. [Required]
  24. public short SysOrgId { get; set; }
  25. /// <summary>
  26. /// 是否参与监测
  27. /// </summary>
  28. [Comment("是否参与监测")]
  29. [Required]
  30. public bool IsRequiredExam { get; set; } = true;
  31. /// <summary>
  32. /// 是否需要上报校考成绩
  33. /// </summary>
  34. [Comment("是否需要上报校考成绩")]
  35. [Required]
  36. public bool IsReportSchoolExamScore { get; set; } = false;
  37. /// <summary>
  38. /// 一对一引用(机构)
  39. /// </summary>
  40. public virtual SysOrg SysOrg { get; set; }
  41. /// <summary>
  42. /// 一对一引用(监测计划)
  43. /// </summary>
  44. public virtual ExamPlan ExamPlan { get; set; }
  45. public void Configure(EntityTypeBuilder<ExamOrg> entityBuilder, DbContext dbContext, Type dbContextLocator)
  46. {
  47. entityBuilder.HasIndex(x => new { x.ExamPlanId, x.SysOrgId }).IsUnique().HasDatabaseName("idx_exam_org_exam_plan_id_sys_org_id");
  48. }
  49. }