web-dev-qa-db-ja.com

NHibernate LinqプロバイダーのFetch vs FetchMany

NHibernateの積極的な読み込みは、Mike Hadlowのブログの NHibernate Linq Eager Fetching で説明されているように、FetchおよびFetchManyを使用して実行できます。

これら2つの方法の違いは何ですか?また、どのような状況でそれぞれが使用されますか?

73
Simon

Fetchは参照に使用し、FetchManyはコレクションに使用する必要があります。

「孫」コレクションを取得するためにFetchManyと組み合わせられるのはThenFetchManyのみであるため、これは特に重要です。

例:

session.Query<User>()
       .FetchMany(u => u.Orders)
       .ThenFetchMany(o => o.OrderItems)
103
Diego Mijelshon