小编典典

当ID和父母ID在同一张表中时,我可以选择父母的完整层次结构吗?

sql

我有一个表,该表的Id和parentId列。ParentId包含表中另一行的ID。如果ParentId为null,则它是层次结构的顶部。

我有一行ID,并且我想在层次结构中选择其上方的所有行。我可以一次选择吗?

所以在这个例子中:

ID | parentId | 其他列
1 | null
2 | 1
3 | 2

如果我的id = 3,我想选择行1,2,3。

我可以在linq to sql中做到吗?


阅读 158

收藏
2021-04-28

共1个答案

小编典典

您可以使用递归CTE一次选择它,但是LINQ to SQL不支持此操作,因此您必须使用查询创建存储过程,然后从LINQ to
SQL调用该存储过程。

2021-04-28