我遇到了问题。不知何故,我的CodeFirst迁移不再执行。 一切都运作良好,但不是它不再起作用。我现在删除了所有数据库并尝试重新部署它,但数据库根本就不再更新了。
任何帮助?
(我检查了发布向导中的复选框以部署CF迁移)
答案 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();