如果我的对象A包含对对象B的多对一引用,其中对象B包含对象C的一对多集合...请考虑以下查询:
IQueryable<A> query = getIQueryableSomehow();
List<B> resultList = query.Where(A => A.whatever == something).Select(A => A.B).Fetch(B => B.C).ToList();
我想做类似的事情,但我不断用这段代码得到一个空引用异常。是否有一个偷偷摸摸的技巧来实现这种查询并获取一堆Object B集合,还是不可能?
谢谢!
答案 0 :(得分:2)
您可以指定Fetch之前加载所有A,B,C然后选择Bs
List<B> resultList = query
.Where(A => A.whatever == something)
.Fetch(A => A.B).ThenFetch(B => B.C)
.Select(A => A.B)
.ToList();