у меня есть 3 таблицы и 3 класса сущностей, а имена таблиц - Roles, Acls, AclsInRole.
Роль класса сущностей связана с сущностью AclsInRole
public class RoleEntity : IdentityRole<Guid>, IEntity
{
public virtual ICollection<AclInRoleEntity> AclRelations { get; } = new List<AclInRoleEntity>();
}
, а Acl entiy имеет связь сСущность AclsInRole
public class AclEntity : BaseEntity
{
public virtual ICollection<AclInRoleEntity> RoleRelations { get; } = new List<AclInRoleEntity>();
}
и
public class AclInRoleEntity : BaseEntity
{
#region Core Properties
public Guid RoleId { get; set; }
public virtual RoleEntity Role { get; set; }
public Guid AclId { get; set; }
public virtual AclEntity Acl { get; set; }
#endregion Core Properties
}
. Я запускаю блок кода в следующем коде. Этот код возвращает рекурсивный объект.Например: RoleEntity -> AclInRoleEntity-> AclEntity -> AclInRoleEntity -> RoleEntity -> AclInRoleEntity -> AclEntity -> AclInRoleEntity -> RoleEntity -> ......
RoleEntity entity = this._unitOfWork.GetRepository<RoleEntity>().GetFirstOrDefault(
role => role.Id == new Guid("6FE68340-933C-4F94-64FA-08D68EBA5E79") && role.IsActive, null,
roles => roles.Include(role => role.AclRelations).ThenInclude(aclRel => aclRel.Acl));
Вы можете мне помочь?Как можно решить рекурсивную задачу?