.NET CORE 2.1.1 с Entity Framework Core 2.1.4 Код первый: преобразование не выполнено при преобразовании даты и / или времени из символьной строки - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть метод расширения для заполнения моей таблицы после создания:

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

и затем

Update-Database

для создания базы данных с таблицей, но у меня есть эта ошибка:

Преобразование не удалось при преобразованиидата и / или время из символьной строки

в моем файле InitialCreate У меня есть эта строка:

WhenDate = table.Column (тип: "datetime", nullable: false)

в моем журнале консоли, при вставке в команду, я вижу эту строку символов:

'2019-03-12T16: 09: 33.617 + 01: 00'

Я полагаю, формат строки не правильный, но как его изменить?И какой правильный формат?

Спасибо

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Для меня это происходит, когда я пытался изменить столбец после запуска update-database :

Я исправил добавленное вручную значение по умолчанию, например: defaultValue: "0001-01-01 "

Например:

  migrationBuilder.AddColumn<DateTime>(
                name: "OperationDateTime",
                schema: "DefinitionContext",
                table: "Path",
                type: "DateTime",
                nullable: false,
                defaultValue:"0001-01-01");
0 голосов
/ 12 февраля 2019

Я нашел решение, если заменить Now на UtcNow, оно работает!Поскольку он удаляет "+01: 00" ...

, замените

DateTime.Now.AddMonths (1)

на

DateTime.UtcNow.AddMonths (1)

строковый результат:

'2019-03-12T17: 08: 25,682Z'

...