SQL没有通过EF节省DateTime的时间
本文关键字:节省 DateTime 时间 EF SQL | 更新日期: 2023-09-27 18:14:50
我使用EF来节省日期时间。
日期被保存到数据库中,而不是时间。我用的是date
型。然而,SSMS (2012 express)字段只显示dd/MM/yyyy
(no time)
读回来它会读到类似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显示大多数人声称they have no problems saving DateTime.Now via EF
为什么不节省时间?
SQL Server 2012中的DATE
数据类型专门保存仅日期(没有时间)-这是功能不是错误....(DATE
数据类型是在SQL Server 2008中引入的,专门用于只关心日期的情况。"雇佣日期"或诸如此类的事情,当时间部分通常只是阻碍你的时候)。
请参阅MSDN文档日期和时间数据类型中的SQL server图书在线获取更多详细信息....
如果你也需要时间,在你的数据库表中使用DATETIME2(n)
代替(其中n
的值可以在0到7之间,并定义你需要多少小数秒小数点;0 =精度到秒,7 =精度到100ns)