У меня есть модель, представляющая документ mongo с полем даты.странное поведение поля даты
class model
{
...
[BsonElement("dateCreated")]
[BsonDateTimeOptions(Kind = DateTimeKind.Local)]
public DateTime DateCreated { get; set; }
...
}
Я знаю, что Mongo хранит значения в момент времени UTC, поэтому я использую BsonDateTimeOptions
атрибут автоматически представлять их по местному времени.
Когда я создаю экземпляр модели и сохраняю ее в mongo, она работает так, как ожидалось. Но, когда я получаю данные от внешнего источника (клиент к моей службе) и desirializing к моей модели, он сохраняет местное время.
Компилятор отображает те же значения для двух разных экземпляров (перед их вставкой на mongo), но в db первый хранится в формате UTC, а второй - по местному времени.
Посмотрите на свойство «Тип» каждого значения перед его вставкой. –
Я только что проверил. Первый объект имеет «Kind = Unspecified» и десериализованный «Kind = Local». – Schaliasos
Не уверен, что вы подразумеваете под «первым» и «десериализованным» здесь, но это будет корень проблемы. Выясните, что означает «неуказанная» версия ... –