0

これはうまくいかないようです:

this.Property(t => t.mydatetime)
    .HasColumnType("datetime")
    .HasColumnName("mydatetime");

SQLプロファイラを見ると、更新SQL文字列はまだdatetime2(7)を使用しており、余分な小数点以下を使用しています。この結果、datetime2 と datetime の差が丸められます。

エンティティフレームワークにdatetime sql型を使用させるにはどうすればよいですか?

ありがとう!

4

1 に答える 1

1

HasColumnType("datetime")SQL ステートメントで使用される一時パラメーターの型ではなく、列の型を指定します。それらを制御することはできず、必要ありません。DateTimeアプリケーションに小数点以下の桁数が入力された .NET があり、それdatetimeを SQL Server の型に格納する場合、値は丸められた値として格納されます (格納することしかできません)。SQL がデータベース サーバーに送信される前にクライアント側で丸めが行われるか、データベース サーバー自体で丸めが行われるかは問題ではありません。結果は同じになります。精度が失われた丸められた格納された値。

于 2013-02-15T22:15:36.063 に答える