2011-12-13 62 views
1

如果我有一个包含多到一个参考对象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集合,或者它不可能?

谢谢!

回答

2

您可以指定取前装入所有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(); 
相关问题