コレスポンデントコレクションに古いドキュメントが含まれている間にc#モデルが更新されたとしましょう。コレクション内で古いドキュメントと新しいドキュメントを共存させ、新しいバージョンのc#モデルのみを使用してそれらを読み取ります。できれば継承を使わないようにしたいと思います。したがって、この問題のどれが解決可能であり、どのように解決できるのだろうか。
データベースに存在しないc#モデルに新しいプロパティがあります。私はそれが問題になることは決してないと思います、Mongoはそれについて何も知りません、そしてそれはデフォルト値で初期化されます。ここでの唯一の問題は、すべての古いドキュメントに対して特定の値で初期化することです。
プロパティの1つがモデルから削除されました。MongoDbに、古いドキュメントのフィールドをマップするc#クラスにこれ以上のプロパティがないことを確認し、クラッシュする代わりにそれを無視するようにします。このシナリオは、データベースにゴミが残っていることを意味するため、おそらく少し奇妙に聞こえますが、とにかく、動作を実装/構成することは可能ですか?
タイプが変更された場合、新しいタイプは整数->文字列のように古いタイプに変換できます。古いドキュメントのマッピングを構成する方法はありますか?
それ以外の方法で解決できない場合は、2番目のケースに継承を使用することを検討できます