Entity Framework теряет точность Sql DateTime - PullRequest
12 голосов
/ 22 июля 2011

Я запрашиваю мой EDM, используя Entity SQL, и теряю точность в миллисекундах для моих значений 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 Ответ

8 голосов
/ 22 июля 2011

Это зависит от версии SQL Server ... см. http://seesharper.wordpress.com/2008/07/08/sql-server-datetime-vs-net-datetime-battle-of-accuracy/

Если это SQL Server 2008, измените тип данных в БД на datetime2, а затем обновите модель из БД.

В противном случае вы можете установить Точность на 3 (3 цифры для дробной части, см. http://msdn.microsoft.com/en-us/library/cc716737.aspx).

...