C# 在对象内包含多个对象[实体框架]

C# 在对象内包含多个对象[实体框架],c#,.net,entity-framework,linq,C#,.net,Entity Framework,Linq,我试图检索ProjectCategories(子类别)列表和ProjectCategorie的Categorie,子列表被检索。但我不知道如何得到分类 Project project = ctx.Projecten.Include(p => p.ProjectCategories.Select(s => s.Sub.Select(su => su.Sub))).ToList().Find(p => p.ProjectId == projectId); 这些是域类,如您所

我试图检索ProjectCategories(子类别)列表和ProjectCategorie的Categorie,子列表被检索。但我不知道如何得到分类

Project project = ctx.Projecten.Include(p => p.ProjectCategories.Select(s => s.Sub.Select(su => su.Sub))).ToList().Find(p => p.ProjectId == projectId);
这些是域类,如您所见,我的ProjectCategory中有一个分类:

public class ProjectCategorie
{
    public int ProjectCategorieId { get; set; }
    public double MinBedrag { get; set; }
    public double MaxBedrag { get; set; }
    public bool Aanpasbaar { get; set; }
    public bool AutoAanpasbaar { get; set; }

    public ProjectCategorie Super { get; set; }
    public List<ProjectCategorie> Sub { get; set; }
    public Project Project { get; set; }
    public Categorie Categorie { get; set; }
}

public class Categorie : BegrotingsPost
{

    public int CategorieId { get; set; }
    public string Beschrijving { get; set; }
    public double MinBedrag { get; set; }
    public double MaxBedrag { get; set; }

    public Begroting Begroting { get; set; }
    public BegrotingsPost Super { get; set; }
}
公共类项目分类
{
公共int项目分类ID{get;set;}
公共双碎布{get;set;}
公共双MaxBedrag{get;set;}
公共bool Aanpasbaar{get;set;}
公共bool AutoAanpasbaar{get;set;}
公共项目分类超级{get;set;}
公共列表子{get;set;}
公共项目{get;set;}
公共分类分类{get;set;}
}
公共类类别:BegrotingsPost
{
公共int分类ID{get;set;}
公共字符串Beschrijving{get;set;}
公共双碎布{get;set;}
公共双MaxBedrag{get;set;}
公共开始{get;set;}
public BegrotingsPost Super{get;set;}
}
确定更新(错误阅读问题)

我可能也会在数据库中查找(可能会引入逻辑错误)。
只需将ToList()移动到查询的最后一行即可解决此问题。

使用
Include(tenty)
怎么样?您能解释一下吗?可能重复的,如我所说,SUB已被检索,我也需要能够检索ProjectCategory的分类,但我不知道如何确定。。。添加另一个包括。。。抓紧,我会更新我的答案
Project project = ctx.Projecten
   .Include(p => p.ProjectCategories.Select(s => s.Sub.Select(su => su.Sub)))
   .Include(p => p.ProjectCategories.Select(s => s.Categorie))
   .Find(p => p.ProjectId == projectId)
   .ToList();