У меня есть дата, которое я генерирую так:
DateTime myDateTime = DateTime.Now;
Затем я сохраняю его в базе данных (в столбце DateTime
) с помощью Entity Framework. Затем я извлекаю его с помощью OData (службы данных WCF).
Когда он идет в значение TimeOfDay: 09: 30: 03.0196095
Когда он выйдет, значение TimeOfDay: 09: 30: 03.0200000
Чистый эффект от этого делает так, чтобы миллисекунды были замечены как 19 до их сохранения и 20 после перезагрузки.
Итак, когда я делаю сравнение позже в моем коде, он терпит неудачу там, где он должен быть равен.
Не имеет ли SQL Server такой точности, как .NET? Или это Entity Framework или OData, который испортил это?
Я просто усечу миллисекунды (мне они действительно не нужны). Но я хотел бы знать, почему это происходит.