2012-08-14 84 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

相關問題