1

我有一个由 EF 4.3.1 代码首先配置的 datetime2 列。我刚刚注意到,当我使用 DateTime.Now 更新我的实体时,更新/插入到 SQL Server 2008 中的值减少了 12 小时。

任何想法在哪里或为什么会发生这种情况?我机器上的系统时间是正确的,我直接调用并使用 GETDATE() 的所有存储过程都按预期工作。

莫名其妙。

还有一点需要注意。在调用 context.savechanges 之前,DateTime 一直是正确的。EF 正在做的事情或 EF 将其传递给 SQL Server 的方式变得混乱。

4

1 回答 1

1

来自MSDN:GETDATE() 将当前数据库系统时间戳作为日期时间值返回,不带数据库时区偏移量。

您的问题的原因很可能与它有关。

于 2012-04-26T17:56:42.690 回答