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)
在 "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)