1

次のようなテーブルがあります。

public class Cycle     
{
    public Guid Id 
    public int CycleNo 
    public Cycle ParentCycle 
}

次のようなデータがあります。

Id  CycleNo  ParentId  
C1  1         null  
C2  2         C1  
C3  3         C2  

など....
c1 がある場合、最後の子 C3 (この場合) を取得するにはどうすればよいですか? 貴重なご意見ありがとうございます..

4

1 に答える 1

1

ノードの完全なツリーを取得します。

session.CreateQuery(
    "select c from Cycle c join fetch c.ParentCycle where c.Id = 'C1'"
)
.SetResultTransformer(new DistinctRootEntityResultTransformer())
.List<Cycle>();

(または Query または CreateCriteria を使用した同等のもの)

参照: http://ayende.com/blog/4151/nhibernate-tips-tricks-effectively-selecting-a-tree

次に、それをメモリ内でトラバースします。

于 2012-05-02T15:00:07.133 に答える