如何在官方mongocsharp -driver中使用SetSerializationOptions方法

本文关键字:SetSerializationOptions 方法 -driver 官方 mongocsharp | 更新日期: 2023-09-27 18:15:02

我的用法是:

  DateTimeSerializationOptions op = new DateTimeSerializationOptions(true);
      cursor = mc.Find(queryArg).SetLimit(limit).SetSkip(skip).SetSortOrder(sort).SetSerializationOptions(op);

it set dateOnly,但似乎没有工作,我有错吗?

如何在官方mongocsharp -driver中使用SetSerializationOptions方法

SetSerializationOptions通常用于全局定义某个类型序列化的方式。在您的代码中,您试图将其用于反序列化(读取)。

我不知道为什么你可以在MongoCursor上设置序列化选项,但正如文档所说:"只有在极少数情况下才需要"。我查了源代码,它似乎在很大程度上被驱动程序忽略了。

您可能想要更改序列化行为:

使用属性

只序列化日期组件的最简单方法是使用属性:

public class Test
{
    [BsonDateTimeOptions(DateOnly = true)]
    public DateTime SomeDate {get; set;}
}

使用类映射

或者,您也可以手动注册:

BsonClassMap<Test> map = new BsonClassMap<Test>();
map.MapProperty(p => p.SomeDate).
          SetSerializationOptions(DateTimeSerializationOptions.DateOnlyInstance);
相关文章:
  • 没有找到相关文章