实体框架获取具有自排序的子集合的实体
本文关键字:实体 子集合 排序 框架 获取 | 更新日期: 2023-09-27 18:25:28
我有一个实体(SystemUnit),它包含子实体(角色)的集合:
public partial class SystemUnit
{
public SystemUnit()
{
this.Roles = new HashSet<Role>();
this.Childs = new HashSet<SystemUnit>();
}
public int Id { get; set; }
public Nullable<int> ParentId { get; set; }
public int SystemUnitTypeId { get; set; }
public string Name { get; set; }
public virtual SystemUnitType SystemUnitType { get; set; }
public virtual ICollection<Role> Roles { get; set; }
public virtual ICollection<SystemUnit> Childs { get; set; }
public virtual SystemUnit Parent { get; set; }
}
我需要使用实体框架来获取所有系统单元,按Id Asc和包含的角色排序,按Id desc.Newbee在linq中排序(
根据SystemUnit对象包含的角色。如果SystemUnit对象的Id是按desc排序的,那么这样角色就不能按dec排序。他们将根据SystemUnit对象
为此,您首先需要一个上下文实体,然后将您的系统单元实体添加为其中的对象。例如:
public class entityContext{
public DbSet<SystemUnit> SystemUnit { get; set;}
}
然后在需要调用实体的方法中,写下:
entityContext ec = new entityContext();
List<SystemUnit> systemUnit = (from su in ec.SystemUnit .Include("Roles") orderby su.Id Asc).ToList();