实体框架失去了Sql DateTime的精度

时间:2011-07-21 23:34:01

标签: c# entity-framework datetime entity-framework-4

我正在使用Entity SQL查询我的EDM,并且在DateTime值上丢失了毫秒精度。例如2011/7/20 12:55:15.333 PM更改为2011/7/20 12:55:15.000 PM。

我已经确认在SQL中精确记录毫秒数。

我可以在.edmx XML文件中应用Precision属性,但我不知道它需要什么样的值,

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

有谁知道如何使用这个精度属性?

感谢。

1 个答案:

答案 0 :(得分:8)

这取决于SQL Server版本...请参阅http://seesharper.wordpress.com/2008/07/08/sql-server-datetime-vs-net-datetime-battle-of-accuracy/

如果是SQL Server 2008,请将DB中的数据类型更改为datetime2,然后从DB更新模型。

否则您可以将精度设置为3(小数部分为3位数,请参阅http://msdn.microsoft.com/en-us/library/cc716737.aspx)。