2

RavenDBからロードされたオブジェクトに対していくつかのコードを実行しようとしていますが、オブジェクトがそのプロパティ値とともにロードされた直後に実行する必要があります。

CustomCreationConverterを使用して逆シリアル化プロセスをインターセプトし、ReadJsonをオーバーライドしようとしましたが、その時点でアクセスできるオブジェクトには、必要なもの(Id)を除くすべてのプロパティが設定されています。これを行うためにパイプラインにスロットインできる場所は他にありますか?

4

1 に答える 1

2

Idが表示されない理由は、IDがドキュメントの一部ではなく、メタデータにとして表示されているため@idです。

クライアント側を傍受したい場合は、カスタム変換リスナーを登録できます。を実装するクラスを作成し、IDocumentConversionListenerに登録しdocumentStore.RegisterListener()ます。このDocumentToEntityメソッドでは、カスタムロジックを実行できます。ドキュメントは一般的にリスナーに欠けていますが、リスナーを使用する別のトピックがあります:http: //ravendb.net/kb/16/using-optimistic-concurrency-in-real-world-scenarios

もう1つのオプションは、サーバー側でインターセプトするバンドルを追加することです。そのためには、読み取りトリガーを使用します。

于 2012-11-23T17:40:50.763 に答える