using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace YBEE.EQM.Core;
///
/// 有效分分析:学科上线
///
[Comment("有效分分析:学科上线")]
public class EsaLineCourse : IEntity
{
///
/// 主键
///
[Comment("主键")]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key, Required]
public int Id { get; set; }
///
/// 分析级别
///
[Comment("分析级别")]
[Required, Column(TypeName = "smallint")]
public EsaLevel EsaLevel { get; set; }
///
/// 分析计划ID
///
[Comment("分析计划ID")]
public int EsaPlanId { get; set; }
///
/// 基线ID
///
[Comment("基线ID")]
[Required]
public int EsaBaseLineId { get; set; }
///
/// 数据范围类型
///
[Comment("数据范围类型")]
[Required, Column(TypeName = "smallint")]
public EsaDataScopeType EsaDataScopeType { get; set; }
///
/// 机构ID
///
[Comment("机构ID")]
public short? SysOrgId { get; set; }
///
/// 年级ID
///
[Comment("年级ID")]
[Required]
public short GradeId { get; set; }
///
/// 班级ID
///
[Comment("班级ID")]
public long? SchoolClassId { get; set; }
///
/// 班级号
///
[Comment("班级号")]
public short? ClassNumber { get; set; }
///
/// 划线等级
///
[Comment("划线等级")]
[Required, Column(TypeName = "smallint")]
public EsaLineLevel EsaLineLevel { get; set; }
///
/// 科目ID
///
[Comment("科目ID")]
[Required]
public short CourseId { get; set; }
///
/// 上线人数
///
[Comment("上线人数")]
[Required]
public int LineCount { get; set; } = 0;
///
/// 总人数
///
[Comment("总人数")]
[Required]
public int TotalCount { get; set; } = 0;
///
/// 上线比例
///
[Comment("上线比例")]
[Required, Column(TypeName = "decimal(10, 8)")]
public decimal LineRate { get; set; } = 0;
///
/// 是否双上线
///
[Comment("是否双上线")]
[Required]
public bool IsDoubleLine { get; set; } = false;
}