优化部门类属性和方法以支持空值
- 将 `Parent` 和 `ParentName` 属性的返回类型更改为可空类型。 - 添加 `ChildList` 属性以获取子部门列表。 - 新增 `subset` 属性表示是否存在子集。 - 实现 `FindAllByParentId` 方法以根据父级 ID 查找部门,并添加实体缓存逻辑。
This commit is contained in:
parent
ff96344a01
commit
ab2966ec25
|
@ -112,11 +112,11 @@ public partial class Department : Entity<Department>, ITenantSource
|
|||
|
||||
/// <summary>父级</summary>
|
||||
[XmlIgnore, ScriptIgnore, IgnoreDataMember]
|
||||
public Department Parent => Extends.Get(nameof(Department), k => FindByID(ParentID));
|
||||
public Department? Parent => Extends.Get(nameof(Department), k => FindByID(ParentID));
|
||||
|
||||
/// <summary>父级</summary>
|
||||
[Map(__.ParentID, typeof(Department), __.ID)]
|
||||
public String ParentName => Parent?.ToString();
|
||||
public String? ParentName => Parent?.ToString();
|
||||
|
||||
/// <summary>父级路径</summary>
|
||||
public String ParentPath
|
||||
|
@ -151,6 +151,18 @@ public partial class Department : Entity<Department>, ITenantSource
|
|||
return p + "/" + Name;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取子集合
|
||||
/// </summary>
|
||||
[XmlIgnore, ScriptIgnore, IgnoreDataMember]
|
||||
public IEnumerable<Department>? ChildList => Extends.Get(nameof(ChildList), k => FindAllByParentId(ID).OrderBy(e => e.ID));
|
||||
|
||||
/// <summary>
|
||||
///是否存在子集
|
||||
/// </summary>
|
||||
[XmlIgnore, ScriptIgnore, IgnoreDataMember]
|
||||
public Boolean subset { get; set; }
|
||||
#endregion
|
||||
|
||||
#region 扩展查询
|
||||
|
@ -231,6 +243,17 @@ public partial class Department : Entity<Department>, ITenantSource
|
|||
|
||||
return FindAll(_.TenantId == tenantId);
|
||||
}
|
||||
|
||||
/// <summary>根据所属父级Id查找</summary>
|
||||
/// <param name="parentID">所属父级Id</param>
|
||||
/// <returns>实体列表</returns>
|
||||
public static IList<Department> FindAllByParentId(Int32 parentID)
|
||||
{
|
||||
// 实体缓存
|
||||
if (Meta.Session.Count < 1000) return Meta.Cache.FindAll(e => e.ParentID == parentID);
|
||||
|
||||
return FindAll(_.ParentID == parentID);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 高级查询
|
||||
|
|
Loading…
Reference in New Issue