1

私はMongoDbを初めて使用しますが、カプセル化されたデータを保存して高速に取得および更新するために使用することで大きなメリットが得られる既存のアプリケーションがあります。

今私が抱えている問題は、フレームワーク固有の属性や依存関係のない単純な POCO である既存のモデルがあることですが、それらには int である Id フィールドがあります (いくつかは異なりますが、このインスタンスではすべてが int であると仮定する方が簡単です) )。そのオブジェクトをMongoDbに結び付けることなく(idフィールドの属性を丸めたり、タイプをObjectIdフィールドに変更したり)、外部構成を介してidフィールドを自動的に取得する方法はありますか?

それが世界の終わりでない場合は、Nhibernate の場合と同様に、MongoDb の目的でマッピングされるドメイン オブジェクトを作成します。Id フィールドが異なるだけで、同じクラスの 2 つのバージョンを用意する必要はありません。この場合のように、ドメインは同一になります。

4

1 に答える 1

0

シリアライゼーションに対する C# ドライバーのサポートは、次のとおりです。

http://www.mongodb.org/display/DOCS/CSharp+Driver+Serialization+Tutorial

シリアライゼーション サポートの原則は、ドメイン オブジェクトに属性でアノテーションを付けることが、シリアライゼーションを制御する最も簡単な方法である一方で、ドメイン モデルの永続性を無視し、 MongoDB への依存がありません。

チュートリアルで RegisterClassMap を使用した例を探してください。

于 2011-11-07T17:31:43.907 に答える