using NetAdmin.Domain.DbMaps.Dependency;
using NetAdmin.Domain.DbMaps.Dependency.Fields;
namespace NetAdmin.Domain.DbMaps.Sys;
///
/// 部门表
///
[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_Dept))]
public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort
{
///
/// 子节点
///
[JsonIgnore]
[Navigate(nameof(ParentId))]
public IEnumerable Children { get; init; }
///
/// 是否启用
///
[JsonIgnore]
[Column]
public virtual bool Enabled { get; init; }
///
/// 部门名称
///
[JsonIgnore]
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)]
public virtual string Name { get; init; }
///
/// 父编号
///
[JsonIgnore]
[Column]
public virtual long ParentId { get; init; }
///
/// 角色集合
///
[JsonIgnore]
[Navigate(ManyToMany = typeof(Sys_RoleDept))]
public ICollection Roles { get; init; }
///
/// 排序值,越大越前
///
[JsonIgnore]
[Column]
public virtual long Sort { get; init; }
///
/// 部门描述
///
[JsonIgnore]
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)]
public virtual string Summary { get; init; }
}