using Easy.DDD.Domain.Entities; using System.Collections.ObjectModel; namespace Identity.Api.DDD.Domain.Entites; public class OrganizationUnit : AggregateRoot { public virtual Guid? TenantId { get; protected set; } /// /// 父 Id. /// Null,如果此 OU 是根。 /// public virtual Guid? ParentId { get; internal set; } /// /// 此组织单位的层次代码。 /// 示例:“00001.00042.00005”。 /// 这是组织单位的唯一代码。 /// 如果OU层次结构改变,它是可变的。 /// public virtual string Code { get; internal set; } /// /// 此组织单位的显示名称。 /// public virtual string DisplayName { get; set; } /// /// 此 OU 的角色。 /// public virtual ICollection Roles { get; protected set; } /// /// Initializes a new instance of the class. /// public OrganizationUnit() { } /// /// Initializes a new instance of the class. /// /// id /// 显示名称. /// 如果 OU 是根,则为父 ID 或 null. /// 主机的租户 ID 或 null. public OrganizationUnit(Guid id, string displayName, Guid? parentId = null, Guid? tenantId = null) : base(id) { TenantId = tenantId; DisplayName = displayName; ParentId = parentId; Roles = new Collection(); } }