using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace YBEE.EQM.Core;
///
/// 有效分分析:基线
///
[Comment("有效分分析:基线")]
public class EsaBaseLine : IEntity
{
///
/// 主键
///
[Comment("主键")]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key, Required]
public int Id { get; set; }
///
/// 分析计划ID
///
[Comment("分析计划ID")]
public int EsaPlanId { get; set; }
///
/// 年级ID
///
[Comment("年级ID")]
[Required]
public short GradeId { get; set; }
///
/// 划线等级
///
[Comment("划线等级")]
[Required, Column(TypeName = "smallint")]
public EsaLineLevel EsaLineLevel { get; set; }
///
/// 划线比例
///
[Comment("划线比例")]
[Column(TypeName = "decimal(10, 8)")]
public decimal LineRate { get; set; } = 0;
///
/// 划线人数
///
[Comment("划线人数")]
public int LineCount { get; set; } = 0;
///
/// 是否按比例划线
///
[Comment("是否按比例划线")]
public bool IsRateLine { get; set; } = false;
///
/// 划线分
///
[Comment("划线分")]
[Column(TypeName = "decimal(10, 2)")]
public decimal LineScore { get; set; } = 0;
///
/// 有效系数
///
[Comment("有效系数")]
[Column(TypeName = "decimal(10, 8)")]
public decimal Factor { get; set; } = 0;
///
/// 状态
///
[Comment("状态")]
[Required, Column(TypeName = "smallint")]
public ProcessingStatus Status { get; set; } = ProcessingStatus.INITIAL;
///
/// 一对多引用(参与分析学科)
///
public ICollection EsaBaseLineCourses { get; } = [];
}