1

最初に EF 4.3.1 コードで構成された datetime2 列があります。DateTime.Now を使用してエンティティを更新すると、SQL Server 2008 に更新/挿入された値が 12 時間ずれていることに気付きました。

これがどこで、またはなぜ起こっているのか、何か考えはありますか? マシンのシステム時刻は正しく、直接呼び出して GETDATE() を使用するすべてのストアド プロシージャは期待どおりに動作します。

困惑。

もう 1 つ注意点があります。context.savechanges が呼び出される前に、DateTime は常に正しいです。EF が行っていること、または EF がそれを SQL Server に渡す方法が混乱しています。

4

1 に答える 1

1

MSDNから: GETDATE() 現在のデータベース システムのタイムスタンプを、データベースのタイム ゾーン オフセットを除いた日時値として返します。

ほとんどの場合、問題の原因はそれに関連しています。

于 2012-04-26T17:56:42.690 に答える