我有一个使用EF 4.1创建的现有数据库。然后我安装了EF 4.3并启用了迁移。现在我更改了一个实体的名称。 Up()方法中的第一行代码是DropForeignKey()。如果我使用Update-Database运行迁移,则会抛出异常"无法删除约束"。
问题是,使用ef 4.3,外键命名约定已经改变。在4.3中它们看起来像" FK_Table_Table_Column_ID"在4.1喜欢" Table_Table"。
我该如何改变?
答案 0 :(得分:2)
您是否可以让代码优先重新创建数据库?如果这样做,那么将使用新的命名约定重新创建所有密钥。
撰写了一篇关于此内容的博文以及其他一些需要注意的事项答案 1 :(得分:0)
难看。
您是否尝试过安装Entity Framework Power Tools并让它对数据库进行反向工程?它可以更好地处理生成的代码中现有的FK名称格式,并帮助您克服这个障碍,而无需像重新创建一个全新的数据库并手动将数据从旧的复制到新的那样更加激烈。