NHibernateの積極的な読み込みは、Mike Hadlowのブログの NHibernate Linq Eager Fetching で説明されているように、Fetch
およびFetchMany
を使用して実行できます。
これら2つの方法の違いは何ですか?また、どのような状況でそれぞれが使用されますか?
Fetch
は参照に使用し、FetchMany
はコレクションに使用する必要があります。
「孫」コレクションを取得するためにFetchMany
と組み合わせられるのはThenFetchMany
のみであるため、これは特に重要です。
例:
session.Query<User>()
.FetchMany(u => u.Orders)
.ThenFetchMany(o => o.OrderItems)