.NET Core DateTime неправильно вставляет / обновляет столбец DateTime в SQL Server - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь вставить DATETIME в свою базу данных SQL Server из .NET Core & Entity Framework, но у меня происходит странное поведение.

Прежде всего, вставленные данныевзято из вызова API VueJS, и данные, которые я отправляю, выглядят примерно так:

...
lastModified: "2019-10-28T10:54:07.556Z"
...

Тогда то, что я получаю на моем C # бэкэнде, кажется правильным, я получаю его как объект из моей моделии свойство lastModified выглядит нормально:

enter image description here

Затем я вставляю свои данные в свою базу данных с помощью следующего кода:

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;
}

И вставка сделана правильно, но временная часть даты и времени выглядит как стерта, если посмотреть на то, что вставлено в мою базу данных:

enter image description here

Но когда я получаю свойство 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 выглядит так:

enter image description here

1 Ответ

1 голос
/ 28 октября 2019

Ну, eVolve был на трассе, я думаю, я только что проверил модель и у меня было

entity.Property(e => e.LastModified)
                .HasColumnName("lastModified")
                .HasColumnType("date");

вместо

entity.Property(e => e.LastModified)
                .HasColumnName("lastModified")
                .HasColumnType("datetime2");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...