Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Entity Framework losing Sql DateTime precision

I am querying my EDM using Entity SQL and am losing millsecond precision on my DateTime values. For example 2011/7/20 12:55:15.333 PM gets changed to 2011/7/20 12:55:15.000 PM.

I have confirmed that in SQL the milliseconds are recorded precisely.

There is a Precision attribute I can apply in the .edmx XML file, but I do not know what sort of values it takes,

      <Property Name="Timestamp"
                Type="DateTime"
                Nullable="false"
                Precision="???" />

Does anyone know how to use this precision attribute ?

Thanks.

like image 703
Sean Thoman Avatar asked Jul 21 '11 23:07

Sean Thoman


1 Answers

It depends on the SQL Server version... see http://seesharper.wordpress.com/2008/07/08/sql-server-datetime-vs-net-datetime-battle-of-accuracy/

If it is SQL Server 2008 change the datatype in the DB to datetime2 and then update the model from the DB.

Otherwise you could set Precision to 3 (3 digits for the fractional part, see http://msdn.microsoft.com/en-us/library/cc716737.aspx ).

like image 153
Yahia Avatar answered Oct 07 '22 23:10

Yahia