我有一些模型Dictionary<MyEnum, object>。当我尝试使用 C# 驱动程序插入 mongoDB 时,出现以下消息的异常:
使用 DictionaryRepresentation.Document 时,键值必须序列化为字符串。
当然,我可以添加属性[BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]并且它可以工作,但我希望能够将枚举作为字符串持久化。
public MyEnum {
A,
B
}
[BsonDictionaryOptions(DictionaryRepresentation.Document)]
public Dictionary<MyEnum, object> MyData { get; set; }
Run Code Online (Sandbox Code Playgroud)
由于不同的原因,我想在 mongo 中拥有类似的东西。
{
"MyData": {
"B": "xxxx",
"A": "xxxx"
}
}
Run Code Online (Sandbox Code Playgroud)
对于单个枚举,我只能使用该[BsonRepresentation(BsonType.String)]属性,但是如何告诉驱动程序以获取字典将枚举键序列化为字符串?