私は次のオブジェクトを持っています: 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();
しかしその後、彼は以前の 5 回ではなく 117 回のフェッチを行いました。たとえば、E は熱心にロードされなくなりました。または、C は B で 1 回ではなく 10 回です。
このような状況に最適なアプローチは何ですか?
前もって感謝します