我正在使用 EF 来保存日期时间。
日期正在保存到数据库中,但不是时间。我正在使用 date
类型。但是SSMS(2012 express)字段只显示dd/MM/yyyy
(没有时间)
读回它的内容类似于 26/07/2014 00:00:00
我假设它显示的是 00:00:00,因为这是它的保存方式(尽管没有显示)。
为了保存条目,我只是为我的属性分配了一个 DateTime。
myEfModel.Date = DateTime.Now;
我也尝试过(以确保位数不会在保存时混淆 SQL)
var timeNow = DateTime.Now;
timeNow.AddMilliseconds(-timeNow.Millisecond);
myEfModel.Date LastUsed = timeNow;
SO 上的搜索显示大多数人声称他们通过 EF 保存 DateTime.Now 没有问题
为什么不节省时间?
最佳答案
SQL Server 2012 中的 DATE
数据类型专门保存仅日期(没有时间)——这是一个特性 不是错误....(DATE
数据类型是在 SQL Server 2008 中引入的,专门用于当您只关心日期时使用,例如“雇用日期”或类似的东西,当时间部分通常只会妨碍您。
参见 MSDN documentation Date and Time Data Types在 SQL Serer 联机丛书中了解更多详细信息....
如果您也需要时间,请在数据库表中使用 DATETIME2(n)
(其中 n
的值可以介于 0 和 7 之间,并定义有多少您需要小数点后第二位;0 = 精确到秒,7 = 精确到 100ns)
关于c# - SQL 不通过 EF 保存 DateTime 的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24968597/