1

エンティティに対して NHibernate で LazyLoad を使用すると、以下の例外が発生します。

NHibernate.MappingException: 次のパーシスタがありません: PrivilegeLevelProxy

PrivilegeLevel はエンティティです。また、正しくマップされています (LazyLoad() なしで動作します)。なぜ NHibernate が Proxy-Object の Persister を必要とするのでしょうか?

4

1 に答える 1

1

NHibernate はプロキシ用の永続化を必要としません。このエラーはおそらく、NHibernate がプロキシを遅延ロードする機会を得られなかったか、セッションが PrivilegeLevel がプロキシであることを認識できなかったことを意味します。

カスタムインターセプターを使用していますか? その場合は、GetEntityNameメソッドをオーバーライドする必要があります。

役立つかもしれないいくつかの同様の SO の質問があります:
No persister for: Castle.Proxies.<EntityName>Proxy and lazy="true" in NHibernate?
Persister がありません: INotifyPropertyChanged Interceptor での保存時のエラー

于 2012-08-14T21:43:00.780 に答える