Как добавить часть времени в базу данных (sqlserver) asp.net core - PullRequest
0 голосов
/ 15 марта 2019

В основном приложении MVC asp.net мы получили поле DateTime LastUpdated.В sqlserver типом поля является дата и время.Если мы устанавливаем время (и дату) в базе данных, информация отображается правильно, но после обновления часть времени всегда устанавливается в нули.Код выглядит так:

[DataType(DataType.DateTime)]
public DateTime LastUpdated { get; set; }

object.LastUpdated = DateTime.UtcNow;
context.Update(object);

Спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 15 марта 2019

Тип базы данных был Дата, изменен на DataTime, НО изменения были сделаны вручную, и мы пропустили:

entity.Property(e => e.LastUpdated).HasColumnType("date");

, который должен быть:

entity.Property(e => e.LastUpdated).HasColumnType("datetime");

ChrisPratt, идругие, спасибо!

0 голосов
/ 15 марта 2019

читая ваш код на C #, я считаю, что проблема в основном заключается в использовании функции UTC, потому что в вашей таблице типом данных является datetime, а не datetimeoffset, в противном случае, в C # вы пытаетесь отправить ему данные UTC, только для проверки я рекомендую изменить его на

[DataType(DataType.DateTime)]
public DateTime LastUpdated { get; set; }

object.LastUpdated = DateTime.Now;
context.Update(object);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...