linq,树结构,根据Id,如何获取当前id及其所有子id
结构如下:
public class Comment
{
public int Id {get;set;}
public int ParentId {get;set;}
public int Text {get;set;}
}
Example:
1
-2
--3
-4
-5
--6
2
3
如果 ID == 1 获取 1,2,3,4,5,6.
------解决方案--------------------用递归,参考:
http://blog.csdn.net/q107770540/article/details/7708418
linq2Object 是一个道理
------解决方案--------------------IEnumerable<Comment> GetChild(int id)
{
return table.Where(x => x.ParentID == id).Union(table.Where(x => x.ParentID == id).SelectMany(y => GetChild(y)));
}