私は Mongo-C# 環境にいて、10Gen Mongo ドライバーを使用しています。サブドキュメントがあり、そのサブドキュメントが厳密に型指定されていない場合に、Mongo ドキュメント内のデータを逆シリアル化しようとすると、問題に直面しています。つまり、サブドキュメントが Expando または単に匿名の object() である場合、次のエラーで逆シリアル化中にエラーが発生します。
System.IO.FileFormatException: System.Object に逆シリアル化されるドキュメントは空である必要があります。
オブジェクトをオンザフライで BSONDocument に変換する Mongo 読み取り/書き込みの前後にフィルターを配置できますが、BSOnDocument と (Expando または匿名型) の間で利用できるキャストはないと思います。
カスタムのデシリアライゼーション ツールを作成することは、このためには大変な作業のように思えます。誰かが以前にこの問題に直面したことがあるのだろうか、そして彼らはこの問題をどのように処理したのでしょうか?