1. ホーム
  2. linq

NHibernate LinqプロバイダにおけるFetchとFetchManyの比較

2023-09-24 08:36:09

質問

NHibernate のイーガーローディングは FetchFetchMany で説明されているように NHibernate Linq Eager Fetching (リンク先は英語) で説明されています。

これら 2 つのメソッドの違いは何ですか、またどのような状況でそれぞれ使用されますか。

どのように解決するのですか?

Fetch は参照用に使用されるべきで FetchMany を使うべきです。

これは特に重要なことで、唯一の FetchMany と組み合わせることができます。 ThenFetchMany と組み合わせると、孫のコレクションを取得することができます。

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