私はいくつかの辞書でモデルを持っています。 C#ドライバでmongoDBに挿入しようとすると、次のメッセージで例外が発生します。 DictionaryRepresentation.Documentキー値を使用する場合、文字列としてシリアル化する必要があります。MongoDB serialize Dictionary <MyEnum、object>
もちろん、[BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]属性を追加できますが、それは機能しますが、列挙型として永続化できるようにします。
public MyEnum {
A,
B
}
[BsonDictionaryOptions(DictionaryRepresentation.Document)]
public Dictionary<MyEnum, object> MyData { get; set; }
私が持っていたいさまざまな理由からモンゴのようなものです。
{
"MyData": {
"B": "xxxx",
"A": "xxxx"
}
}
は、単一の列挙のために、私はちょうど[BsonRepresentation(BsonType.String)]属性を使用することができますが、辞書は、文字列として列挙型のキーをシリアル化するためにどのようにドライバーに伝えるために?
'public Dictionary MyData {get;セット; } 'そして、' MyEnum.A.toString() 'を渡すか、またはintegerを使用します。 –
ありがとう、私はすでにそれについて考えたが、私は簡単に追加できる一般的な属性を探しているが、私はそれを行うことができるか、コンビニエンスパックを知らない。 – Demonia