0

这似乎不起作用:

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

查看 sql profiler 更新 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 回答