У меня есть следующий код C #, который создает DateTime
, вводит его в таблицу и затем запрашивает эту таблицу:
DateTime date = DateTime.Now;
DateTest newRecord = new DateTest {
dateColumn = date
};
db.DateTest.AddObject(newRecord);
db.SaveChanges();
IQueryable<DateTest> records =
from d in db.DateTest
select d;
Если я сейчас нарушу код и посмотрю на объекты в отладчике, я получу это для объекта date
:
Date {11/22/2011 12:00:00 AM} System.DateTime
Day 22 int
DayOfWeek Tuesday System.DayOfWeek
DayOfYear 326 int
Hour 8 int
Kind Local System.DateTimeKind
Millisecond 345 int
Minute 59 int
Month 11 int
Second 33 int
Ticks 634575491733450602 long
TimeOfDay {08:59:33.3450602} System.TimeSpan
Year 2011 int
И я получаю это для записи, извлеченной из таблицы:
Date {11/22/2011 12:00:00 AM} System.DateTime
Day 22 int
DayOfWeek Tuesday System.DayOfWeek
DayOfYear 326 int
Hour 8 int
Kind Unspecified System.DateTimeKind
Millisecond 347 int
Minute 59 int
Month 11 int
Second 33 int
Ticks 634575491733470000 long
TimeOfDay {08:59:33.3470000} System.TimeSpan
Year 2011 int
Как видите, они отключаются на пару миллисекунд.
Может кто-нибудь объяснить, почему это так, и как я могу это исправить? Мне нужно иметь возможность запрашивать записи, точно соответствующие объекту DateTime
в памяти, но это приводит к тому, что мои запросы появляются с пустыми руками.