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(255)")] public string Icon { get; set; } = string.Empty; /// /// 菜单分组,针对折叠菜单效果 /// [Column(TypeName = "varchar(50)")] public string Key { get; set; } = string.Empty; /// /// 菜单链接的URL /// [Column(TypeName = "varchar(255)")] 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; } } }