【发布时间】:2013-04-23 07:27:50
【问题描述】:
我有一个层次结构的数据结构如下。
表 1
id | Groupname | parentId
表 2
id | nodeName | parentId
表1的parentId指的是表1的id,表2的parentId也指的是表1的id。
从表1中的任意一个ID开始,我需要打印出所有节点,然后遍历所有子组的子节点。
到目前为止我有这个
int id = 1; // replace with argument
repository.Nodes.Where(n => n.ParentId == Id).ToList().ForEach(d =>
{
result.NodeList.Add(GetNodeDetails(n.Id));
});
谁能帮我以高效的 linq 方式完成这个循环?
【问题讨论】:
-
所以你想扁平化层次结构,对吗?
-
如何获取节点的子节点?有导航属性吗?
-
是的,我想展平,是的,有导航属性。谢谢。
-
repository.Nodes已经是所有节点的扁平化列表。 -
@dtb:他不想要所有节点。他只想要
Id的子集。
标签: c# linq linq-to-entities