using System;
using SqlSugar;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Admin.Core.Model.Sys
{
    ///<summary>
    ///菜单权限表实体类
    ///</summary>
    [Table("SysMenu")]
    [SugarTable("SysMenu", "Admin.Core")]
    public class SysMenu
    {


        /// <summary>
        /// 菜单ID
        /// </summary>
        [Key]
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        [Required]
        public int MenuID { get; set; }


        /// <summary>
        /// 菜单名称
        /// </summary>
        public string MenuName { get; set; }


        /// <summary>
        /// 父菜单ID
        /// </summary>
        public int? ParentID { get; set; }


        /// <summary>
        /// 显示顺序
        /// </summary>
        public int? OrderNum { get; set; }


        /// <summary>
        /// 路由地址
        /// </summary>
        public string Path { get; set; }


        /// <summary>
        /// 组件路径
        /// </summary>
        public string Component { get; set; }


        /// <summary>
        /// 是否为外链(0是 1否)
        /// </summary>
        public bool? IsFrame { get; set; }


        /// <summary>
        /// 是否缓存(0缓存 1不缓存)
        /// </summary>
        public bool? IsCache { get; set; }


        /// <summary>
        /// 菜单类型(M目录 C菜单 F按钮)
        /// </summary>
        public string MenuType { get; set; }


        /// <summary>
        /// 菜单状态(0显示 1隐藏)
        /// </summary>
        public bool? Visible { get; set; }


        /// <summary>
        /// 菜单状态(0正常 1停用)
        /// </summary>
        public int? Status { get; set; }


        /// <summary>
        /// 权限标识
        /// </summary>
        public string Perms { get; set; }


        /// <summary>
        /// ApiUrl
        /// </summary>
        public string ApiUrl { get; set; }


        /// <summary>
        /// 菜单图标
        /// </summary>
        public string Icon { get; set; }


        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }


        /// <summary>
        /// 创建者
        /// </summary>
        public string CreateBy { get; set; }


        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }


        /// <summary>
        /// 更新者
        /// </summary>
        public string UpdateBy { get; set; }


        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }

    }
}