在一个对象 [实体框架] 中包含多个对象

本文关键字:包含多 对象 框架 一个对象 实体 | 更新日期: 2024-11-05 03:49:19

>我正在尝试检索项目类别(子类别)列表和项目分类,子列表被检索。但我不知道如何获得分类。

Project project = ctx.Projecten.Include(p => p.ProjectCategories.Select(s => s.Sub.Select(su => su.Sub))).ToList().Find(p => p.ProjectId == projectId);

这些是域类,如您所见,我的ProjectCategorie中有一个分类:

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; }
}

在一个对象 [实体框架] 中包含多个对象

好的更新(误读问题)...

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();

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

相关文章: