BsonSerializationException-字典<字符串,字典<int,=“”字符串=“” >>类型

时间:2018-08-01 19:35:58

标签: c# mongodb dictionary serialization mongodb-query

我正在尝试在MongoDb中保存一个文档,该文档的成员为FinishedGoodsMap,看起来像以下内容。

[BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
public Dictionary<string, Dictionary<int, string>> FinishedGoodsMap { get; set; }

当尝试更新mongo数据存储中的文档时,我面临以下异常:

  

BsonSerializationException:使用DictionaryRepresentation时。文档键值必须序列化为字符串。

如您所见,成员字典的键值实际上是一个字符串,并且嵌套字典无法更改其类型。不过,奇怪的是,我在此文档上还有其他字典没有字符串类型键。

我尝试以the docs允许的所有方式序列化成员-Document,ArrayOfDocuments,ArrayOfArrays。

有人可以帮助我解决此错误吗?我不希望更改数据类型。

编辑:我通过更改字典的结构来解决此问题,其中使用了一个映射到字符串的复合键-但我仍在想是否有办法解决这个问题。

谢谢!

0 个答案:

没有答案