EntityFramework 迁移:AlterColumn DateTime 到 DateTimeOffset

EntityFramework migration: AlterColumn DateTime to DateTimeOffset

在 "Code First" EF 方法中,我更改了 属性:

的类型

之前:

 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

错误:

Error Number:5074,State:1,Class:16 The object 'DF__Foo__2B2A60FE' is dependent on column 'Date'. ALTER TABLE ALTER COLUMN Date failed because one or more objects access this column.

我该如何解决这个问题?我没有在其他部分引用此专栏(没有索引)

正如 Ivan Stoev 在评论中所说,这是通过更新到 EF 6.2 解决的(我使用的是 EF 6.1.3)