SQL不通过EF保存DateTime的时间

Dav*_*ave 1 c# sql datetime entity-framework

我正在使用EF来保存日期时间.

日期正在保存到数据库,但不是时间.我正在使用这种date类型.但是,SSMS(2012 express)字段仅显示dd/MM/yyyy(没有时间)

读它回来就是这样的 26/07/2014 00:00:00

我假设它显示00:00:00,因为这是它被保存的方式(尽管没有显示).

要保存条目,我只是将DateTime分配给我的属性.

myEfModel.Date = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)

我也尝试过(确保数字的位数不会使保存中的SQL混乱)

var timeNow = DateTime.Now;
timeNow.AddMilliseconds(-timeNow.Millisecond);
myEfModel.Date LastUsed = timeNow;
Run Code Online (Sandbox Code Playgroud)

搜索SO显示大多数人声称 they have no problems saving DateTime.Now via EF

为什么不节省时间?

mar*_*c_s 7

DATESQL Server 2012中的数据类型专门保存日期(没有时间) - 这是一个功能而不是bug ....(DATE数据类型是在SQL Server 2008中引入的,专门用于您只关心日期时,例如"雇用"日期"或类似的东西,当时间部分通常只是妨碍你的方式).

有关详细信息,请参阅SQL Serer联机丛书中的MSDN文档日期和时间数据类型 ....

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

  • @DaveRook:如果觉得这个答案有助于你解决问题,那么请[**接受这个答案**](http://meta.stackoverflow.com/q/5234/153998).这将表达您对那些花时间帮助您*的人们的感激之情. (2认同)