在Linq-to-Nhibernate中,是否可以在.Select()之后使用.Fetch()?
问题描述:
如果我有一个包含多到一个参考对象B,其中对象B包含一个一对多的集合对象的C ...考虑下面的查询对象的:在Linq-to-Nhibernate中,是否可以在.Select()之后使用.Fetch()?
IQueryable<A> query = getIQueryableSomehow();
List<B> resultList = query.Where(A => A.whatever == something).Select(A => A.B).Fetch(B => B.C).ToList();
我想要做类似这样的事情,但我一直使用这段代码得到一个空引用异常。是否有一个偷偷摸摸的技巧来实现这种查询并获取一堆Object B集合,或者它不可能?
谢谢!
答
您可以指定取前装入所有A,B,C,然后选择烧烤
List<B> resultList = query
.Where(A => A.whatever == something)
.Fetch(A => A.B).ThenFetch(B => B.C)
.Select(A => A.B)
.ToList();