5

RavenDBは、シリアル化属性がなくても、特定のC#オブジェクトのすべてのパブリック、プライベート、および保護されたプロパティをシリアル化できます。

これはリフレクションで実行できることは知っていますが、パフォーマンスの問題が発生する可能性があります。これを達成するための他のより効率的な方法はありますか?

.NETに組み込まれているシリアル化を使用するには、アノテーションまたはいくつかのシリアル化インターフェイスの実装が必要ですが、RavenDBは任意のオブジェクトをJSONとの間でシリアル化できます。

特にRavenDBではなく、RavenDBが使用するテクノロジーに興味があります。

4

2 に答える 2

1

リフレクションによるプロパティの設定が遅すぎる場合は、実行時にプロパティを設定する動的メソッドを生成できます。これはRelection.Emit、コンパイルExpression<T>.

于 2012-06-29T07:04:20.880 に答える
0

インスピレーションを得るためにNHibernateに注目してください-他の選択肢に加えて、インターフェイスを使用して永続化するプロパティを表現する機会も提供します。内部的には、インターフェースを実装するラッパーオブジェクトは処理を変更します。

たとえば、NHibernate Reflection Optimizerを参照してください-それは何をしますか?

于 2012-09-28T09:07:14.160 に答える