using Magicodes.ExporterAndImporter.Core;
using SqlSugar;
using WIDESEAWCS_Core.DB.Models;
using WIDESEAWCS_Core.Filter;
using WIDESEAWCS_Core.Tenants;
namespace WIDESEAWCS_Model.Models
{
    [MultiTenant]
    [Exporter(ExporterHeaderFilter = typeof(ExporterHeaderFilter))]
    [SugarTable("Sys_Dictionary", "å—典数æ®")]
    public class Sys_Dictionary : BaseEntity
    {
        /// <summary>
        /// å—å…¸ID
        /// </summary>
        [ExporterHeader(DisplayName = "å—å…¸ID")]
        [SugarColumn(IsIdentity = true, IsPrimaryKey = true, ColumnDescription = "å—å…¸ID")]
        public int DicId { get; set; }
        /// <summary>
        /// é…置项
        /// </summary>
        [ExporterHeader(DisplayName = "é…置项")]
        [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "é…置项")]
        public string Config { get; set; }
        /// <summary>
        /// æ•°æ®åº“æœåŠ¡
        /// </summary>
        [ExporterHeader(DisplayName = "æ•°æ®åº“æœåŠ¡")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "æ•°æ®åº“æœåŠ¡")]
        public string DBServer { get; set; }
        /// <summary>
        /// Sqlè¯å¥
        /// </summary>
        [ExporterHeader(DisplayName = "Sqlè¯å¥")]
        [SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "Sqlè¯å¥")]
        public string DBSql { get; set; }
        /// <summary>
        /// å—å…¸åç§°
        /// </summary>
        [ExporterHeader(DisplayName = "å—å…¸åç§°")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "å—å…¸åç§°")]
        public string DicName { get; set; }
        /// <summary>
        /// å—典编å·
        /// </summary>
        [ExporterHeader(DisplayName = "å—典编å·")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "å—典编å·")]
        public string DicNo { get; set; }
        /// <summary>
        /// 是å¦å¯ç”¨
        /// </summary>
        [ExporterHeader(DisplayName = "是å¦å¯ç”¨")]
        [SugarColumn(IsNullable = true, ColumnDescription = "是å¦å¯ç”¨")]
        public byte? Enable { get; set; }
        /// <summary>
        /// 排åºå·
        /// </summary>
        [ExporterHeader(DisplayName = "排åºå·")]
        [SugarColumn(IsNullable = true, ColumnDescription = "排åºå·")]
        public int? OrderNo { get; set; }
        /// <summary>
        /// 父级ID
        /// </summary>
        [ExporterHeader(DisplayName = "父级ID")]
        [SugarColumn(IsNullable = true, ColumnDescription = "父级ID")]
        public int ParentId { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [ExporterHeader(DisplayName = "备注")]
        [SugarColumn(IsNullable = true, Length = 2000, ColumnDescription = "备注")]
        public string Remark { get; set; }
        /// <summary>
        /// 系统类型
        /// </summary>
        [ExporterHeader(DisplayName = "系统类型")]
        [SugarColumn(IsNullable = false, ColumnDescription = "系统类型")]
        public int SystemType { get; set; }
        [ExporterHeader(IsIgnore = true)]
        [Navigate(NavigateType.OneToMany, nameof(DicId),nameof(DicId)), SugarColumn(IsIgnore = true, IsNullable = true)]
        public List<Sys_DictionaryList> DicList { get; set; }
    }
}