1

当我在 NHibernate 中为我的实体使用 LazyLoad 时,我得到了以下异常:

NHibernate.MappingException:没有持久性:PrivilegeLevelProxy

PrivilegeLevel 是一个实体。它也正确映射(它在没有 LazyLoad() 的情况下工作)。我问我,为什么 NHibernate 需要一个持久化代理对象?

4

1 回答 1

1

NHibernate 不需要持久化代理。这个错误可能意味着 NHibernate 没有机会延迟加载代理,或者会话无法识别 PrivilegeLevel 是代理。

您是否使用任何自定义拦截器?如果这样做,则需要覆盖GetEntityName方法。

这里有一些类似的 SO 问题可能会有所帮助:
No persister for: Castle.Proxies.<EntityName>Proxy and lazy="true" in NHibernate?
No Persister for:使用 INotifyPropertyChanged 拦截器保存时出错

于 2012-08-14T21:43:00.780 回答