1

在流利的 nhibernate 中,我可以将 Fetch.Something 和 Not.LazyLoad 设置为 Reference 或 HasMany。如果我同时使用会发生什么?

这两者对这三种方式查询数据有何体现?

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

问题是FetchQuery/HQL 没有考虑到这一点。因此,在运行查询后,它会立即尝试一一Not.LazyLoad获取您的属性。

一般来说,在 99% 的情况下禁用延迟加载是个坏主意。推荐阅读:NHibernate 是懒惰的,只是忍受它

于 2012-05-23T13:49:28.730 回答