Миграция EntityFramework: от AlterColumn DateTime до DateTimeOffset - PullRequest
0 голосов
/ 07 мая 2019

В подходе EF "Code First" я изменил тип свойства:

До:

 DateTime Date { get; set; }

После того, как:

 DateTimeOffset Date { get; set; }

А потом я выполнил (Консоль диспетчера пакетов):

Add-Migration Foo

Который создал этот код:

public partial class Foo : DbMigration
{
    public override void Up()
    {
        AlterColumn("dbo.Foos", "Date", c => c.DateTimeOffset(nullable: false, precision: 7));
    }

    public override void Down()
    {
        AlterColumn("dbo.Foos", "Date", c => c.DateTime(nullable: false));
    }
}

Но это не работает при выполнении обновления (Консоль диспетчера пакетов):

Update-Database

Ошибка:

Номер ошибки: 5074, Состояние: 1, Класс: 16 Объект «DF__Foo__2B2A60FE» зависит от столбца «Дата». ALTER TABLE ALTER COLUMN Дата не удалась, поскольку один или несколько объектов получить доступ к этому столбцу.

Как я могу решить это? Я не ссылаюсь на этот столбец в других частях (нет индексов)

1 Ответ

0 голосов
/ 17 мая 2019

Как сказал Иван Стоев в комментариях, это исправлено обновлением до EF 6.2 (я использовал EF 6.1.3)

...