来修复的。
在" 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
错误:
错误编号:5074,状态:1,班级:16对象 'df__foo__2b2a60fe'取决于列"日期"。 Alter表Arter列日期失败,因为一个或多个对象 访问此专栏。
我该如何解决?我不是在其他部分中引用此列(没有索引(
正如伊万·斯托夫(Ivan Stoev(在评论中所说的那样,这是通过更新为ef 6.2(我使用ef 6.1.3(