我有多层次的实体,具有以下层次结构: 父 - > RootChildren - >儿童 - >儿童 - > .....
Class Parent
{
public int Id {get; set;}
public virtual Child RootChildren {get; set;}
}
Class Child
{
public virtual List<Child> Children {get; set;}
}
现在,我希望将包含所有子项的实体包含为嵌套方式。
我尝试了以下但是没有用:
var parents = dbContext.Parent
.Where(p => p.Id == id)
.Select(r => r.RootChildren)
.Include(c => c.Children)
.ToList();
它为第一个孩子提供了结果,但不包括树中存在的所有嵌套子项。
任何建议或信息都将受到高度赞赏。谢谢!
答案 0 :(得分:1)
您不应该尝试在Include
之后应用Select
并执行Include
层次结构;
var parents = dbContext.Parent
.Where(p => p.Id == id)
.Include(c => c.RootChildren.Children)
.Select(r => r.RootChildren)
.ToList();