使用2.0 C#驱动程序将DateTime保存到MongoDb时如何防止丢失精度?

时间:2016-04-01 09:55:26

标签: c# mongodb datetime

目前,当我们使用2.0 C#驱动程序序列化并将包含DateTime的对象保存到MongoDb时,我们正在失去精度,因此当它作为并发检查的一部分进行比较时,由于滴答不同而失败。

我找到了一个blog post,它描述了如何使用原始C#驱动程序来维护精度,方法是使用DateTimeSerializationOptions并指定文档的BsonType但是我无法在线找到如何在新版本。

新驱动程序中以下代码的等效内容是什么?

DateTimeSerializationOptions.Defaults = new DateTimeSerializationOptions(DateTimeKind.Utc, BsonType.Document);

1 个答案:

答案 0 :(得分:0)

在GitHub上挖掘了序列化程序的源代码后,我提出了以下工作原理。

BsonSerializer.RegisterSerializer(typeof(DateTime), new DateTimeSerializer(DateTimeKind.Utc, BsonType.Document))