私はこの答えを白黒で見つけるために読んで周りを見回してきました。
Customer
おなじみの問題について話しましょうOrder
。100個の注文をロードし、各注文が1人の顧客にのみリンクされているとします。
Fluent NHibernateを使用References()
して、をリンクOrder
するために使用し、およびCustomer
を定義します。Not.LazyLoad()
Fetch.Join()
今私は仮説的に考えています。NHibernateはこれらの2つのテーブルを単純に結合でき、エンティティを水和するのは非常に簡単です。ただし、私のテストでは、常にN + 1クエリ(実際には一意のIDのみ)が表示されます。コードとテーブルを共有することはできますが、退屈する可能性があります。
- Order-> Customer(one->oneまたはMany->One)のN + 1を克服することは可能ですか?または、バッチ処理またはCriteria APIを使用する必要がありますか?
- 可能であれば、流暢なNHibernateの例を教えていただけますか?