2012-08-14 108 views
1

当我在NHibernate的使用LazyLoad我的实体,我得到休耕例外:NHibernate的 - LazyLoad - 没有留存发现

NHibernate.MappingException:没有留存为:PrivilegeLevelProxy

PrivilegeLevel是一个实体。它也映射正确(它没有LazyLoad())。我问我,为什么NHibernate需要Persister代理对象?

+0

您是否使用流利的配置或映射文件?如果'PrivilegeLevel'没有被映射,这个错误听起来就像。 – 2012-08-14 21:32:32

+0

我使用流利。 PrivilegeLevel被映射。当我从类映射中删除LazyLoad()时,它工作正常。 – BennoDual 2012-08-14 21:34:43

+0

是PrivilegeLevel子类,也许这就是问题 – tykovec 2012-08-15 08:35:31

回答

1

NHibernate不需要持久代理服务器。这个错误可能意味着NHibernate没有机会延迟加载代理,或者会话未能认识到PrivilegeLevel是代理。

您是否在使用任何自定义拦截器?如果你这样做,你需要重写GetEntityName方法。

这里有一些相似的,所以问题可能会有所帮助:
No persister for: Castle.Proxies.<EntityName>Proxy and lazy="true" in NHibernate?
No Persister for: error on save with INotifyPropertyChanged Interceptor

相关问题