C# .NET Core DateTime未在SQL Server中正确插入/更新DateTime列
我试图从.NETCore&EntityFramework向我的SQLServer数据库中插入一些DATETIME,但出现了一种奇怪的行为 首先,插入的数据取自VueJS API调用,我发送的数据如下:C# .NET Core DateTime未在SQL Server中正确插入/更新DateTime列,c#,sql-server,datetime,vue.js,C#,Sql Server,Datetime,Vue.js,我试图从.NETCore&EntityFramework向我的SQLServer数据库中插入一些DATETIME,但出现了一种奇怪的行为 首先,插入的数据取自VueJS API调用,我发送的数据如下: ... lastModified: "2019-10-28T10:54:07.556Z" ... 然后,我在我的C后端上接收到的内容似乎是正确的,我从模型中将其作为对象接收,并且lastModified属性似乎是正确的: 然后,我使用以下代码将数据插入数据库: using (var contex
...
lastModified: "2019-10-28T10:54:07.556Z"
...
然后,我在我的C后端上接收到的内容似乎是正确的,我从模型中将其作为对象接收,并且lastModified属性似乎是正确的:
然后,我使用以下代码将数据插入数据库:
using (var context = new TestContext(optionsBuilder.Options))
{
var originalSave = context.SauvegardeIntervention.FirstOrDefault(s => s.IdIntervention == id);
context.Entry(originalSave).CurrentValues.SetValues(save);
context.SaveChanges();
return true;
}
插入操作正确,但datetime的时间部分在查看数据库中插入的内容时会被删除:
但是当我检索DateTime属性时,我会得到与我之前发送的完全相同的对象
我的问题是为什么我的datetime属性在我的数据库中没有时间部分
此对象的我的EF模型为:
public partial class SauvegardeIntervention
{
public int IdIntervention { get; set; }
public string SauvegardeContent { get; set; }
public bool? CurrentlyInUse { get; set; }
public DateTime? LastModified { get; set; }
public virtual Intervention IdInterventionNavigation { get; set; }
}
与之对应的SQL Server表如下所示:
好吧,进化是在严格的轨道上,我想,我只是检查了模型回来,我有
entity.Property(e => e.LastModified)
.HasColumnName("lastModified")
.HasColumnType("date");
而不是
entity.Property(e => e.LastModified)
.HasColumnName("lastModified")
.HasColumnType("datetime2");
请出示您的EF型号,或者最好是a。列类型是什么?get属性中是否有自定义逻辑?使用实体框架时,生成器具有什么列类型,例如modelBuilder.Properties.Configurec=>c.HasColumnTypedatetime2;我添加了Sauvegarde对象的结构,模型有点长,所以我不能在这里复制它