using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace YBEE.EQM.Core;
///
/// 监测教师任教科目
///
[Comment("监测教师任教科目")]
public class ExamTeacherCourse : DEntityBase
{
///
/// 监测计划ID
///
[Comment("监测计划ID")]
[Required]
public int ExamPlanId { get; set; }
///
/// 机构ID
///
[Comment("机构ID")]
[Required]
public short SysOrgId { get; set; }
///
/// 校区ID
///
[Comment("校区ID")]
public short? SysOrgBranchId { get; set; }
///
/// 姓名
///
[Comment("姓名")]
[Required, StringLength(100)]
public string Name { get; set; }
///
/// 证件类型
///
[Comment("证件类型")]
[Required, Column(TypeName = "smallint")]
public CertificateType CertificateType { get; set; } = CertificateType.NONE;
///
/// 证件号码
///
[Comment("证件号码")]
[StringLength(50)]
public string IdNumber { get; set; } = "";
///
/// 监测年级ID
///
[Comment("监测年级ID")]
[Required]
public int ExamGradeId { get; set; }
///
/// 年级ID
///
[Comment("年级ID")]
[Required]
public short GradeId { get; set; }
///
/// 学校班级ID
///
[Comment("学校班级ID")]
[Required]
public long SchoolClassId { get; set; }
///
/// 班级号
///
[Comment("班级号")]
[Required]
public short ClassNumber { get; set; }
///
/// 科目ID
///
[Comment("科目ID")]
[Required]
public short CourseId { get; set; }
///
/// 备注
///
[Comment("备注")]
[StringLength(200)]
public string Remark { get; set; }
///
/// 一对一引用(机构)
///
public virtual SysOrg SysOrg { get; set; }
///
/// 一对一引用(校区)
///
public virtual SysOrg SysOrgBranch { get; set; }
///
/// 一对一引用(年级)
///
public virtual Grade Grade { get; set; }
///
/// 一对一引用(班级)
///
public virtual SchoolClass SchoolClass { get; set; }
///
/// 一对一引用(科目)
///
public virtual Course Course { get; set; }
///
/// 一对一引用(监测年级)
///
public virtual ExamGrade ExamGrade { get; set; }
}