.NET CORE 2.1.1 с Entity Framework Core 2.1.4 Код первый: преобразование не выполнено при преобразовании даты и / или времени из символьной строки
У меня есть метод расширения для заполнения моей таблицы после создания:
public static class ModelBuilderExtensions
{
public static void Seed(this ModelBuilder modelBuilder)
{
modelBuilder.Entity<AppUser>(entity =>
{
entity.HasData(
new Event() { id = 1, WhenDate = DateTime.Now.AddMonths(1) }
)
}
}
Я создал файл миграции с помощью этой команды
Add-Migration InitialCreate
а потом
Обновление базы данных
создать базу данных с таблицей, но у меня есть эта ошибка:
Ошибка преобразования при преобразовании даты и / или времени из строки символов
в моем файле InitialCreate у меня есть эта строка:
WhenDate = table.Column (тип: "datetime", nullable: false)
в моем консольном журнале, вставляя в команду, я вижу эту строку символов:
'2019-03-12T16: 09: 33,617+01:00'
Я думаю, что формат строки не правильный, но как его изменить? И какой правильный формат?
Спасибо
1 ответ
Я нашел решение, если я заменю Now
от UtcNow
оно работает! Потому что он удаляет "+01:00"...
замещать
DateTime.Now.AddMonths(1)
от
DateTime.UtcNow.AddMonths(1)
строковый результат:
'2019-03-12T17: 08: 25.682Z'
Для меня это происходит, когда я пытался изменить столбец после запуска update-database:
Я исправил, добавив вручную значение по умолчанию, например:defaultValue:"0001-01-01"
Например:
migrationBuilder.AddColumn<DateTime>(
name: "OperationDateTime",
schema: "DefinitionContext",
table: "Path",
type: "DateTime",
nullable: false,
defaultValue:"0001-01-01");