我正在使用 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="???" />

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

谢谢。

最佳答案

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

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

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

关于c# - Entity Framework 丢失 Sql DateTime 精度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6784110/

10-17 00:44