Entity Framework потеряет точность Sql DateTime
Я запрашиваю свой EDM, используя Entity SQL, и теряю точность millsecond на значениях DateTime. Например, 2011/7/20 12: 55: 15.333 PM будет изменен на 2011/7/20 12: 55: 15.000 PM.
Я подтвердил, что в SQL миллисекунды точно записаны.
Есть атрибут Precision, который я могу применить в XML файле .edmx, но я не знаю, какие значения он принимает,
<Property Name="Timestamp"
Type="DateTime"
Nullable="false"
Precision="???" />
Кто-нибудь знает, как использовать этот атрибут точности?
Спасибо.
Ответы
Ответ 1
Это зависит от версии SQL Server... см. http://seesharper.wordpress.com/2008/07/08/sql-server-datetime-vs-net-datetime-battle-of-accuracy/
Если SQL Server 2008 изменяет тип данных в БД на datetime2, а затем обновляет модель из БД.
В противном случае вы можете установить Precision на 3 (3 цифры для дробной части, см. http://msdn.microsoft.com/en-us/library/cc716737.aspx).