SQL サーバー データベースにクエリを実行する nhibernate を使用する Web サイトがあります。テーブルの 1 つには、次の列があります。
ID
名
ParentId
したがって、このテーブルの一部のエントリは次のようになります。
Id Name ParentId
1、「Joe」、3
3、「Tim」、5
5、「Jack」、7
7、「Tom」、null
このようなクエリを実行しようとしています (疑似 SQL) 。.
"Select * from ThisTable where IsDescendant of 7"
これにより、 7 の子または children の子などが返されます。. (上記の例では、すべての行が返されます)
すべてをループに入れずにこれを修正する最善の方法は何ですか。また、私は nhibernate を使用しているので、これを関数としてコードに追加できますが、何百もの SQL ステートメントに変換されるようです。生のSQLでもこれを行う方法にも興味があります。