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);