エンティティに対して NHibernate で LazyLoad を使用すると、以下の例外が発生します。
NHibernate.MappingException: 次のパーシスタがありません: PrivilegeLevelProxy
PrivilegeLevel はエンティティです。また、正しくマップされています (LazyLoad() なしで動作します)。なぜ NHibernate が Proxy-Object の Persister を必要とするのでしょうか?
エンティティに対して NHibernate で LazyLoad を使用すると、以下の例外が発生します。
NHibernate.MappingException: 次のパーシスタがありません: PrivilegeLevelProxy
PrivilegeLevel はエンティティです。また、正しくマップされています (LazyLoad() なしで動作します)。なぜ NHibernate が Proxy-Object の Persister を必要とするのでしょうか?
NHibernate はプロキシ用の永続化を必要としません。このエラーはおそらく、NHibernate がプロキシを遅延ロードする機会を得られなかったか、セッションが PrivilegeLevel がプロキシであることを認識できなかったことを意味します。
カスタムインターセプターを使用していますか? その場合は、GetEntityName
メソッドをオーバーライドする必要があります。
役立つかもしれないいくつかの同様の SO の質問があります:
No persister for: Castle.Proxies.<EntityName>Proxy and lazy="true" in NHibernate?
Persister がありません: INotifyPropertyChanged Interceptor での保存時のエラー