我有一个使用 nhibernate 查询 SQL 服务器数据库的网站。其中一张表具有以下列:
ID
名称
ParentId
因此,此表中的某些条目可能是:
Id 名称 ParentId
1, "Joe", 3
3, "Tim", 5
5, "Jack", 7
7, "Tom", null
我正在尝试运行这样的查询(伪 SQL)。.
"Select * from ThisTable where IsDescendant of 7"
这将返回任何 7 岁的孩子或孩子的孩子等。. (在上面的示例中,将返回所有行)
什么是解决这个问题的最佳方法,而不必将所有内容都保持在循环中。此外,由于我使用的是 nhibernate,因此我可以将其作为函数添加到我的代码中,但看起来它可以转换为数百条 SQL 语句。我也很好奇如何在原始 SQL 中做到这一点。