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没有通过EF节省DateTime的时间

SQL Server 2012中的DATE数据类型专门保存仅日期(没有时间)-这是功能不是错误....(DATE数据类型是在SQL Server 2008中引入的,专门用于只关心日期的情况。"雇佣日期"或诸如此类的事情,当时间部分通常只是阻碍你的时候)。

请参阅MSDN文档日期和时间数据类型中的SQL server图书在线获取更多详细信息....

如果你也需要时间,在你的数据库表中使用DATETIME2(n)代替(其中n的值可以在0到7之间,并定义你需要多少小数秒小数点;0 =精度到秒,7 =精度到100ns)