我需要通过 linq 深入查看嵌套集合的节点。
这是嵌套类:
public class Group
{
public int Id { get; set; }
public string Description { get; set; }
public int ParentId { get; set; }
public List<Group> Groups { get; set; }
}
此类的每个实例都可以在 Groups 方法中具有多个实例,依此类推。每个实例都通过 ParentId 属性链接。
我需要,有一个 Group 类的实例,检索他的父亲。我试过这个:
var parent = _repositoryGroups
.Where(g => g.Id == [my Group instance].ParentId)
.SelectMany(g => g.Groups)
.FirstOrDefault()
我不知道为什么,但它并不总是找到父亲实例并且它从第二级开始查找(但这不是一个真正的问题)。
在这个嵌套类的所有深处找到元素的最佳方法是什么?
谢谢