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).