如何在官方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,但似乎没有工作,我有错吗?
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);