0

我有一个具有不同属性的类,每个属性都映射到不同的复杂类型(组件)。问题是当我尝试访问其中一个属性时,NHibernate 也会导致获取另一个组件的列,尽管这两个属性都启用了延迟加载。

var user = _session.Load<User>(userId);
user.PasswordInfo.Password; /* This causes to load other properties from another
       component property, e.g. user.MemebershipInfo.IsOnline */

我错过了什么?

4

1 回答 1

2

这是预期的行为。

一次加载所有惰性属性。此功能背后的想法是,您将主要将其用于 blob 属性或大多数工作流中未使用的属性组。

这是一件好事。否则,具有多个惰性属性的类将获得许多数据库调用,只是为了显示这些属性的值。

于 2012-09-22T14:10:27.847 回答