当我在 NHibernate 中为我的实体使用 LazyLoad 时,我得到了以下异常:
NHibernate.MappingException:没有持久性:PrivilegeLevelProxy
PrivilegeLevel 是一个实体。它也正确映射(它在没有 LazyLoad() 的情况下工作)。我问我,为什么 NHibernate 需要一个持久化代理对象?
当我在 NHibernate 中为我的实体使用 LazyLoad 时,我得到了以下异常:
NHibernate.MappingException:没有持久性:PrivilegeLevelProxy
PrivilegeLevel 是一个实体。它也正确映射(它在没有 LazyLoad() 的情况下工作)。我问我,为什么 NHibernate 需要一个持久化代理对象?
NHibernate 不需要持久化代理。这个错误可能意味着 NHibernate 没有机会延迟加载代理,或者会话无法识别 PrivilegeLevel 是代理。
您是否使用任何自定义拦截器?如果这样做,则需要覆盖GetEntityName
方法。
这里有一些类似的 SO 问题可能会有所帮助:
No persister for: Castle.Proxies.<EntityName>Proxy and lazy="true" in NHibernate?
No Persister for:使用 INotifyPropertyChanged 拦截器保存时出错