123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- using Furion.DatabaseAccessor;
- using Microsoft.EntityFrameworkCore;
- using Microsoft.EntityFrameworkCore.Metadata.Builders;
- using System;
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- namespace YBEE.EQM.Core;
- /// <summary>
- /// 监测学生
- /// </summary>
- [Comment("监测样本学生")]
- public class ExamStudent : DEntityBase<long>, IEntityTypeBuilder<ExamStudent>
- {
- /// <summary>
- /// 监测计划ID
- /// </summary>
- [Comment("监测计划ID")]
- [Required]
- public int ExamPlanId { get; set; }
- /// <summary>
- /// 机构ID
- /// </summary>
- [Comment("机构ID")]
- [Required]
- public short SysOrgId { get; set; }
- /// <summary>
- /// 校区ID
- /// </summary>
- [Comment("校区ID")]
- public short? SysOrgBranchId { get; set; }
- /// <summary>
- /// 监测年级ID
- /// </summary>
- [Comment("监测年级ID")]
- [Required]
- public int ExamGradeId { get; set; }
- /// <summary>
- /// 年级ID
- /// </summary>
- [Comment("年级ID")]
- [Required]
- public short GradeId { get; set; }
- /// <summary>
- /// 班级ID
- /// </summary>
- [Comment("班级ID")]
- [Required]
- public long SchoolClassId { get; set; }
- /// <summary>
- /// 班号
- /// </summary>
- [Comment("班号")]
- [Required]
- public short ClassNumber { get; set; }
- ///// <summary>
- ///// 班级学生ID
- ///// </summary>
- //[Comment("班级学生ID")]
- //[Required]
- //public int SchoolClassStudentId { get; set; }
- ///// <summary>
- ///// 学生信息ID
- ///// </summary>
- //[Comment("学生信息ID")]
- //[Required]
- //public int PersonId { get; set; }
- /// <summary>
- /// 高中选科组合ID
- /// </summary>
- [Comment("高中选科组合ID")]
- public short? CourseCombId { get; set; }
- /// <summary>
- /// 自编监测号
- /// </summary>
- [Comment("自编监测号")]
- [StringLength(20)]
- public string ExamNumber { get; set; } = "";
- /// <summary>
- /// 学籍号
- /// </summary>
- [Comment("学籍号")]
- [StringLength(100)]
- public string StudentNumber { get; set; } = "";
- /// <summary>
- /// 考场号
- /// </summary>
- [Comment("考场号")]
- [StringLength(20)]
- public string RoomNumber { get; set; } = "";
- /// <summary>
- /// 座位号
- /// </summary>
- [Comment("座位号")]
- [StringLength(20)]
- public string SeatNumber { get; set; } = "";
- /// <summary>
- /// 姓名
- /// </summary>
- [Comment("姓名")]
- [Required, StringLength(100)]
- public string Name { get; set; }
- /// <summary>
- /// 证件类型
- /// </summary>
- [Comment("证件类型")]
- [Required, Column(TypeName = "smallint")]
- public CertificateType CertificateType { get; set; } = CertificateType.NONE;
- /// <summary>
- /// 证件号码
- /// </summary>
- [Comment("证件号码")]
- [StringLength(50)]
- public string IdNumber { get; set; } = "";
- /// <summary>
- /// 出生日期
- /// </summary>
- [Comment("出生日期")]
- public DateTime? BirthDate { get; set; }
- /// <summary>
- /// 性别
- /// </summary>
- [Comment("性别")]
- [Required, Column(TypeName = "smallint")]
- public Gender Gender { get; set; } = Gender.UNKNOWN;
- /// <summary>
- /// 备注
- /// </summary>
- [Comment("备注")]
- [StringLength(200)]
- public string Remark { get; set; }
- /// <summary>
- /// 一对一引用(机构)
- /// </summary>
- public virtual SysOrg SysOrg { get; set; }
- /// <summary>
- /// 一对一引用(年级)
- /// </summary>
- public virtual Grade Grade { get; set; }
- /// <summary>
- /// 一对一引用(班级)
- /// </summary>
- public virtual SchoolClass SchoolClass { get; set; }
- /// <summary>
- /// 一对一引用(校区)
- /// </summary>
- public virtual SysOrg SysOrgBranch { get; set; }
- /// <summary>
- /// 一对一引用(监测年级)
- /// </summary>
- public virtual ExamGrade ExamGrade { get; set; }
- ///// <summary>
- ///// 一对一引用(班级学生)
- ///// </summary>
- //public virtual SchoolClassStudent SchoolClassStudent { get; set; }
- ///// <summary>
- ///// 一对一引用(学生信息)
- ///// </summary>
- //public virtual Person Person { get; set; }
- public void Configure(EntityTypeBuilder<ExamStudent> entityBuilder, DbContext dbContext, Type dbContextLocator)
- {
- entityBuilder.HasIndex(a => new { a.ExamPlanId, a.SysOrgId }).HasDatabaseName("idx_exam_student_exam_plan_id_sys_org_id");
- entityBuilder.HasIndex(a => new { a.ExamPlanId, a.SysOrgId, a.SchoolClassId }).HasDatabaseName("idx_exam_student_exam_plan_id_soid_scid");
- }
- }
|