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

使用2.0 C#驱动程序将日期时间保存到MongoDb时,如何防止丢失精度?,c#,mongodb,datetime,C#,Mongodb,Datetime,目前,当我们使用2.0 C#驱动程序序列化包含DateTime的对象并将其保存到MongoDb时,我们正在失去精度,因此当将其作为并发性检查的一部分进行比较时,它会失败,因为刻度不同 我找到了一个描述如何使用原始C#驱动程序,通过使用DateTimeSerializationOptions并指定文档的BsonType来保持精度的示例,但我在网上找不到在新版本中如何做到这一点的示例 以下代码在新驱动程序中的等效值是什么 DateTimeSerializationOptions.Defaults =

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

我找到了一个描述如何使用原始C#驱动程序,通过使用
DateTimeSerializationOptions
并指定文档的BsonType来保持精度的示例,但我在网上找不到在新版本中如何做到这一点的示例

以下代码在新驱动程序中的等效值是什么

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

在深入研究GitHub上序列化程序的源代码之后,我想出了以下可行的方法

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