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-efficiently-selecting-a-tree

然后在内存中遍历它。

于 2012-05-02T15:00:07.133 回答