2

我有一个使用 EF 4.1 创建的现有数据库。然后我安装了 EF 4.3 并启用了迁移。现在我更改了一个实体的名称。Up() 方法中的第一行代码是 DropForeignKey()。如果我使用 Update-Database 运行迁移,则会引发异常“无法删除约束”。

问题是,在 ef 4.3 中,外键命名约定发生了变化。在 4.3 中,它们看起来像 4.1 中的“FK_Table_Table_Column_ID”,就像“Table_Table”。

我该如何改变呢?

4

2 回答 2

2

你能让代码优先重新创建数据库吗?如果你这样做,那么所有的键都将使用新的命名约定重新创建。

我写了一篇关于此的博客文章以及升级到 Entity Framework 4.3 时需要注意的其他一些事情。

于 2012-05-03T14:27:59.753 回答
0

丑陋的。

您是否尝试过安装Entity Framework Power Tools并让它对您的数据库进行逆向工程?它可能会更好地处理生成的代码中现有的 FK 名称格式,并帮助您克服这一障碍,而无需做更激烈的事情,例如重新创建一个全新的数据库并手动将数据从旧的复制到新的。

于 2013-04-02T09:18:28.840 回答