我想使用实体框架从自引用表中选择所有相关记录。我没有任何具体的水平。它适用于所有孩子和所有父母的所有相关记录。以下是一些示例数据。因此,如果我将ID 5传递给我的函数,它应该给我ID为1,4,5,7,8的记录。
5是Id 7的父ID,7是Id 8的父ID。类似地,5的父ID是1,1也是Id 4的父ID。
因此,我希望选择Id 5下方和上方的所有记录。
数据来源
Id Name ParentId
1 Test 1 NULL
2 Test 2 NULL
3 Test 3 NULL
4 Test 4 1
5 Test 5 1
6 Test 6 4
7 Test 7 5
8 Test 7 7
预期
1 Test 1 NULL
4 Test 4 1
5 Test 5 1
7 Test 7 5
8 Test 7 7
答案 0 :(得分:0)
我得到了逻辑。我们需要首先识别根节点,然后从根节点找到链接的族树。 我们可以编写一个CTE来查找根节点,或者我们可以添加一个新列来保存根节点id。 Sql Fiddle With Root Node