我有以下对象:A -> B -> IList -> D -> IList 等等..
如果我获取 A 的列表,NHibernate 会在 B 上进行内部连接。没关系。但是 C 是通过 N+1 问题获取的。
我试过这个:
var query = session.Query<A>()
.Fetch(x => x.B)
.ThenFetchMany(x => x.C)
.Distinct();
但后来他做了 117 次取回,而不是之前的 5 次。例如 E 现在没有急切地加载。或者 C 在 B 中是十次而不是一次。
对于这种情况,最好的方法是什么?
提前致谢