クラスをBSONドキュメントに変換しようとすると何か問題が発生しました。カスタムBSONキー値シリアライザ
私はCustom1
とCustom2
が少し違うはずです。 KeyValuePair
を "展開"して期待される結果を生成するカスタムシリアライザを作成するにはどうすればよいですか(下記参照)?以下のコード例を期待した結果と共に見ることができます。
また、オブジェクトをシリアライズするためにMongo BSONライブラリを使用しています。
public class UserData
{
public UserData()
{
Id = 100;
Name = "Superuser";
Custom1 = new KeyValuePair<string, double>("HelloWorld1", 1);
Custom2 = new KeyValuePair<string, double>("HelloWorld2", 2);
}
public int Id { get; set; }
public string Name { get; set; }
public KeyValuePair<string, double> Custom1 { get; set; }
public KeyValuePair<string, double> Custom2 { get; set; }
}
テストコードを実行します。
var userdata = new UserData();
var doc = userdata.ToBsonDocument();
現在の結果:
{
"Id": 100,
"Name": "Superuser",
"Custom1": {
"Key": "HelloWorld1",
"Value": 1
},
"Custom2": {
"Key": "HelloWorld2",
"Value": 2
}
}
期待される結果:
{
"Id": 100,
"Name": "Superuser",
"HelloWorld1": 1,
"HelloWorld2": 2
}
あなたも得ている結果を親切に投稿してください。 – Newton
@Newton:現在の結果の例が追加されました。 – SOK