1

流暢なnhibernateでは、Fetch.SomethingとNot.LazyLoadをReferenceまたはHasManyに設定できます。両方を使用するとどうなりますか?

これらの2つは、これら3つの方法でデータをクエリすることにどのように反映されますか?

class UserMap
{
   HasMany(x=>x.Contacts). (Fetch or Not.LazyLoad)
   References(x=>x.Supervisor). (Fetch or Not.LazyLoad)
}

session.Query<User>();
session.Query<User>().FetchMany(x=>x.Contacts);
session.Get<User>(ID);
4

1 に答える 1

3

問題はFetch、Query/HQLで考慮されていないことです。したがって、クエリを実行した直後に、Not.LazyLoadプロパティを1つずつフェッチしようとします。

一般に、遅延読み込みを無効にすることは、99%のケースで悪い考えです。おすすめの読み物:NHibernateは怠惰で、一緒に暮らすだけです

于 2012-05-23T13:49:28.730 に答える