【发布时间】:2018-03-21 17:09:01
【问题描述】:
我有这样的数据库数据:
id | description | parent_id
-----------------------------------------
1 | Record 1 | null
2 | Record 2 | 1
3 | Record 3 | null
4 | Record 4 | 2
5 | Record 5 | 3
我想用 Linq 处理,结果应该是这样的:
Record 1
- Record 2
- Record 4
Record 3
- Record 5
我得到了解决方案:Recursive LINQ query: select item and all children with subchildren
但不幸的是,结果只有两个级别,因为我想要多级 > 2 级的结果(如树)。
还有其他最佳解决方案吗?或如何修改该解决方案
提前致谢
【问题讨论】:
-
whatever?这是一个完全合法的问题,因为您可以在数据库和列表上使用 LINQ。 -
不是随便。 linq 的递归解决方案不适用于 linq-to-sql 或 linq-to-entities。
-
Linq 没有这个支持。为此,您需要编写一个递归函数调用。 Link 将支持您希望定义的层数
-
哦,好吧,对不起。我的意思是 linq 到对象
-
@Nico 是的,它需要编写一个递归函数。如上所述,我得到了解决方案,但结果只有两个级别,我需要结果有多个级别