Я использую драйвер MongoDB C#, перенося некоторые документы из нашей текущей базы данных в MongoDB и наоборот. Проблема, которую я получаю (вкратце): хотя метод извлечения DateTime из документа MongoDB возвращает правильную дату/время, при присвоении атрибуту DateTime моего объекта C# он возвращается к 01/01/0001 12:00:00 AM, то есть до минимального значения DateTime.C# (и MongoDB) Преобразование DateTime (от объекта BSON to C#)
Подробнее:
GetDateTime запрашивает MongoDB (RDoc является BSON документ) и возвращающие правильный дата/время:
Console.WriteLine(GetDateTime(rdoc, "recordedDate"));
Выход есть:
6/3/2010 10:00:00 AM
Я присваиваю возвращаемое значение моему объекту C#:
doc.RecordedDate = GetDateTime(rdoc, "recordedDate");
но когда этот атрибут, используя (г мой C# объект):
Console.WriteLine(r.UserID + "," + r.DateCreated);
я получаю: 123456,1/1/0001 12:00:00 AM
Я настраиваю мой DateTime поле с:
set{ recordedDate = value.ToLocalTime(); }
Просто упомянуть здесь, что я на самом деле не обновляем нашу базу данных при создании C# документы, просто держать эти документы в памяти, то resaving их Монго (не спрашивайте), просто Ф.О. в целях тестирования. Это не должно влиять на проблему, которую я испытываю, все остальные поля работают нормально.
Я знаю, что есть некоторая missmatch между объектами DateTime из BSON и .NET (BSON урежет количество тиков или что-то), но не, если это является причиной моей проблемы ...
Btw, я только начал используя C# три дня назад, поэтому, если мне не хватает чего-то основного и очевидного здесь, пожалуйста, укажите его мягко :).
И все! (спасибо за указание) Класс моего объекта r наследует класс, содержащий свойство DateCreated, но этот никогда не был установлен, поэтому я получил значение даты min. – Aineko