0

在“代码优先”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

错误:

错误号:5074,状态:1,类:16 对象“DF__Foo__2B2A60FE”取决于“日期”列。ALTER TABLE ALTER COLUMN 日期失败,因为一个或多个对象访问此列。

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

4

1 回答 1

0

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

于 2019-05-16T23:12:31.137 回答