C# .NET Core DateTime未在SQL Server中正确插入/更新DateTime列

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

我试图从.NETCore&EntityFramework向我的SQLServer数据库中插入一些DATETIME,但出现了一种奇怪的行为

首先,插入的数据取自VueJS API调用,我发送的数据如下:

...
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对象的结构,模型有点长,所以我不能在这里复制它