相关疑难解决方法(0)

将Dictionary <DateTime,T>序列化为BSON时的BsonSerializationException

我最近从已弃用的v1.9转移到了新的MongoDB C#驱动程序v2.0.

现在,当我序列化一个有字典的类时,我有时遇到以下情况BsonSerializationException:

MongoDB.Bson.BsonSerializationException:使用DictionaryRepresentation.Document时,键值必须序列化为字符串.

这是一个最小的重现:

class Hamster
{
    public ObjectId Id { get; private set; }
    public Dictionary<DateTime,int> Dictionary { get; private set; }
    public Hamster()
    {
        Id = ObjectId.GenerateNewId();
        Dictionary = new Dictionary<DateTime, int>();
        Dictionary[DateTime.UtcNow] = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

static void Main()
{
    Console.WriteLine(new Hamster().ToJson());
}
Run Code Online (Sandbox Code Playgroud)

.net c# mongodb mongodb-csharp-2.0 mongodb-.net-driver

18
推荐指数
3
解决办法
8239
查看次数