以下是产生此错误的代码。我已经尝试过重命名AddForeignKey
的解决方案,但错误是一样的。
' PK_dbo.Item'不是约束。
无法删除约束。查看以前的错误。
你能提出一些解决方案吗?
public override void Up()
{
DropForeignKey("dbo.AddGallery", "item_fk_id", "dbo.Item");
DropForeignKey("dbo.ExtraFieldValue", "item_fk_id", "dbo.Item");
DropPrimaryKey("dbo.Item");
AddColumn("dbo.Item", "id", c => c.Int(nullable: false, identity: true));
AddPrimaryKey("dbo.Item", "id");
AddForeignKey("dbo.AddGallery", "item_fk_id", "dbo.Item", "id");
AddForeignKey("dbo.ExtraFieldValue", "item_fk_id", "dbo.Item", "id");
DropColumn("dbo.Item", "item_id");
}
public override void Down()
{
AddColumn("dbo.Item", "item_id", c => c.Int(nullable: false, identity: true));
DropForeignKey("dbo.ExtraFieldValue", "item_fk_id", "dbo.Item");
DropForeignKey("dbo.AddGallery", "item_fk_id", "dbo.Item");
DropPrimaryKey("dbo.Item");
DropColumn("dbo.Item", "id");
AddPrimaryKey("dbo.Item", "item_id");
AddForeignKey("dbo.ExtraFieldValue", "item_fk_id", "dbo.Item", "id");
AddForeignKey("dbo.AddGallery", "item_fk_id", "dbo.Item", "id");
}
答案 0 :(得分:2)
我认为主键不再存在,这就是为什么它不能被删除。
答案 1 :(得分:0)
我找到了解决这个问题的方法。因为我试图更改现有主键名称,所以我在迁移时遇到错误,因为该主键已被其他表引用。所以解决方案只是添加 [Column(" id")] DataAnnotation而不是进行迁移。主键的列名已成功更改,没有任何错误。