EF6奇怪的日期问题/上下文.SaveChanges弄乱了日期

本文关键字:日期 上下文 SaveChanges 乱了 问题 EF6 | 更新日期: 2023-09-27 18:06:40

在我的模型中,我有一个DateTime对象,由一个JSON字符串从WebAPI填充。

模型。在调试器中结束读取:

model.end   {13.09.2016 23:59:59}   System.DateTime

model.end.Ticks 636094079999990000  long

然后我设置我的实体endDate为我的model.end:

appointment.endDate = model.end;

用我的SaveChanges保存全部内容:

appointment.LastEdit = DateTime.Now;
ctx.Appointments.Add(appointment);
ctx.SaveChanges(); 
return appointment; //BreakPointSet
在断点处,约会对象读取正确日期:
appointment.endDate {13.09.2016 23:59:59}   System.DateTime

在调试器中读取ctx.Appointments.ToList()时,它也反映了正确的日期。

但是…当我连接到我的数据库,并在约会表上做一个读取,结束日期设置为:

14.09.2016 00:00:00

什么? ?那多出来的一秒从何而来?

EF6奇怪的日期问题/上下文.SaveChanges弄乱了日期

回答我自己的问题:

model.end.Ticks 636094079999990000  long

model.end   {13.09.2016 23:59:59}   System.DateTime

还:

model.end.Millisecond   999   int

和数据库不能处理毫秒,所以跳转到最近的秒