NHibernate 3.0 QueryOver equivalent of the FetchMany in Nhibernate Linq
nhibernate 3中的linq提供程序使我能够使用fetchmany、thenfitchmany等为集合指定多个级别的预取。是否有使用queryover的等效doinf方法。
假设我有一个结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class A { IList b; } class B { IList<C> c; } class C { } |
我可以把整棵树都装进NH LINQ
1 2 3 4 | session.Query<A> .FetchMany(x=> a.b) .ThenFetchMany(y => y.c) .ToList(); |
有没有一种方法可以使用queryover api来做到这一点?
实际上,我在这里问了一个完全相同的问题,然后贴出了我找到的答案。
1 2 3 4 5 6 | 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(); |