3

Nhibernate 3 中的 linq 提供程序使我能够使用 FetchMany、ThenFetchMany 等为集合指定多个级别的急切获取。是否有使用 QueryOver 的等效方法来执行此操作。

说我有一个结构

class  A
{
  IList<B> b;
}

class B
{
  IList<C> c;
}

class C
{

}

我可以急切地在 NH Linq 中加载整棵树

session.Query<A>
       .FetchMany(x=> a.b)
       .ThenFetchMany(y => y.c)
       .ToList();

有没有办法使用 QueryOver api 做到这一点?

4

1 回答 1

0
B bAlias = null;
C cAlias = null;
var list = session.QueryOver<A>
.JoinAlias(x=>x.b, () => bAlias, JoinType.LeftOuterJoin)
.JoinAlias(x=>bAlias.c, () => cAlias, JoinType.LeftOuterJoin)
.List();
于 2012-05-07T19:54:43.423 回答