Code First Migrations未执行

时间:2016-11-11 16:30:54

标签: entity-framework visual-studio azure ef-code-first

我遇到了问题。不知何故,我的CodeFirst迁移不再执行。 一切都运作良好,但不是它不再起作用。我现在删除了所有数据库并尝试重新部署它,但数据库根本就不再更新了。

任何帮助?

(我检查了发布向导中的复选框以部署CF迁移)

3 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案,所以如果有其他人被困在这里,我会在这里发布。

Code First Migrations仅在发出请求后执行。但是,由于数据库结构不正确,我的请求确实失败了。所以我无法执行迁移请求,因此数据库没有更新。所以我创建了一个简单的虚拟Request,只返回OK状态并调用它。这确实触发了迁移,现在每个标志都有效。 怪异。

答案 1 :(得分:0)

它无效,因为您可能在部署向导中创建/选择了其他连接。在已部署的连接字符串中确认相同,您可以在其中看到两个连接字符串。 第二个连接字符串也在EF seciton中引用 - 并且,在上下文中,您使用了第一个连接字符串 - public ApplicationDbContext() : base("DefaultConnection", throwIfV1Schema: false) {} 在此更改名称将解决您的问题。

答案 2 :(得分:0)

我使用它来强制迁移运行。

var db = new MyDbContext();
db.Database.ExecuteSqlCommand("select 1");
db.Dispose();