using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;

namespace YBEE.EQM.Core;

/// <summary>
/// 高中选科组合
/// </summary>
[Comment("高中选科组合")]
[Table("ncee_course_comb")]
public class NceeCourseComb : IEntity
{
    /// <summary>
    /// 主键
    /// </summary>
    [Comment("主键")]
    [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
    public short Id { get; set; }
    /// <summary>
    /// 首选科目ID
    /// </summary>
    [Comment("首选科目ID")]
    [Required]
    public short FirstCourseId { get; set; }
    /// <summary>
    /// 再选科目1ID
    /// </summary>
    [Comment("再选科目1ID")]
    [Required]
    public short SecondCourseId { get; set; }
    /// <summary>
    /// 再选科目2ID
    /// </summary>
    [Comment("再选科目2ID")]
    [Required]
    public short ThirdCourseId { get; set; }
    /// <summary>
    /// 名称
    /// </summary>
    [Comment("名称")]
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 简称
    /// </summary>
    [Comment("简称")]
    [Required]
    public string ShortName { get; set; }

    /// <summary>
    /// 一对一引用（首选科目）
    /// </summary>
    public virtual Course FirstCourse { get; set; }
    /// <summary>
    /// 一对一引用（再选科目1）
    /// </summary>
    public virtual Course SecondCourse { get; set; }
    /// <summary>
    /// 一对一引用（再选科目2）
    /// </summary>
    public virtual Course ThirdCourse { get; set; }
}
