using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Admin.NET.Core
{
///
/// 菜单表
///
[Table("sys_menu")]
[Comment("菜单表")]
public class SysMenu : DEntityBase
{
///
/// 父Id
///
[Comment("父Id")]
public long Pid { get; set; }
///
/// 父Ids
///
[Comment("父Ids")]
public string Pids { get; set; }
///
/// 名称
///
[Comment("名称")]
[Required, MaxLength(20)]
public string Name { get; set; }
///
/// 编码
///
[Comment("编码")]
[Required, MaxLength(50)]
public string Code { get; set; }
///
/// 菜单类型(字典 0目录 1菜单 2按钮)
///
[Comment("菜单类型")]
public MenuType Type { get; set; }
///
/// 图标
///
[Comment("图标")]
[MaxLength(20)]
public string Icon { get; set; }
///
/// 路由地址
///
[Comment("路由地址")]
[MaxLength(100)]
public string Router { get; set; }
///
/// 组件地址
///
[Comment("组件地址")]
[MaxLength(100)]
public string Component { get; set; }
///
/// 权限标识
///
[Comment("权限标识")]
[MaxLength(100)]
public string Permission { get; set; }
///
/// 应用分类(应用编码)
///
[Comment("应用分类")]
[MaxLength(50)]
public string Application { get; set; }
///
/// 打开方式(字典 0无 1组件 2内链 3外链)
///
[Comment("打开方式")]
public MenuOpenType OpenType { get; set; } = MenuOpenType.NONE;
///
/// 是否可见(Y-是,N-否)
///
[Comment("是否可见")]
[MaxLength(5)]
public string Visible { get; set; } = "Y";
///
/// 内链地址
///
[Comment("内链地址")]
[MaxLength(100)]
public string Link { get; set; }
///
/// 重定向地址
///
[Comment("重定向地址")]
[MaxLength(100)]
public string Redirect { get; set; }
///
/// 权重(字典 1系统权重 2业务权重)
///
[Comment("权重")]
public MenuWeight Weight { get; set; } = MenuWeight.DEFAULT_WEIGHT;
///
/// 排序
///
[Comment("排序")]
public int Sort { get; set; } = 100;
///
/// 备注
///
[Comment("备注")]
[MaxLength(100)]
public string Remark { get; set; }
///
/// 状态(字典 0正常 1停用 2删除)
///
public CommonStatus Status { get; set; } = CommonStatus.ENABLE;
///
/// 多对多(角色)
///
public ICollection SysRoles { get; set; }
///
/// 多对多中间表(用户角色)
///
public List SysRoleMenus { get; set; }
}
}