Nhibernate 3中的linq提供程序使我能够使用FetchMany,ThenFetchMany等为集合指定多个级别的热切提取。是否有使用QueryOver进行doinf的等效方法。
说我有一个结构
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?
执行此操作答案 0 :(得分:2)
我实际上在SO上问了完全相同的question,并发布了我找到的答案。
答案 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();