using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
///
/// 菜单数据,可用于后台菜单和其他菜单,通过Type约定
///
[Table("Menus")]
public class Menu
{
///
/// 分类ID
///
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
///
/// 分类类型,1-管理后台系统
///
public int Type { get; set; }
///
/// 上级分类ID
///
public long ParentId { get; set; }
///
/// 分类名称
///
[Column(TypeName = "varchar(50)")]
public string Name { get; set; } = string.Empty;
///
/// 分类图标
///
[Column(TypeName = "varchar(256)")]
public string Icon { get; set; } = string.Empty;
///
/// 菜单分组,针对折叠菜单效果
///
[Column(TypeName = "varchar(50)")]
public string Key { get; set; } = string.Empty;
///
/// 菜单链接的URL
///
[Column(TypeName = "varchar(256)")]
public string Url { get; set; } = string.Empty;
///
/// 权限代码
///
[Column(TypeName = "varchar(50)")]
public string Code { get; set; } = string.Empty;
///
/// 是否外链接
///
public bool IsLink { get; set; }
///
/// 是否可用
///
public bool Enabled { get; set; }
///
/// 层级深度
///
public int Depth { get; set; }
///
/// 层级路径
///
[Column(TypeName = "varchar(100)")]
public string Path { get; set; } = string.Empty;
///
/// 排序
///
public int DisplayOrder { get; set; }
///
/// 创建时间
///
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
///
/// 更新时间
///
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}