当我将代码部署到测试环境时,我得到了“自创建数据库以来支持上下文的模型”。通过在数据库上运行update-database -script
的脚本输出来创建数据库。因此,它最初具有与我的开发数据库服务器具有相同值的迁移历史记录表。关于这一点已经有很多讨论 - 大多数建议只是放弃表格。所以我放弃了它,一切都很好。
但是吗?那是真的吗?或者我可能没有正确使用迁移?我没有发布任何代码,因为我不确定什么对你有帮助。
编辑:我会换一种说法吗?我在VS内部的控制台生成了sql脚本,同时指向我的本地SQL Express。我已经采用了那个确切的脚本(包括迁移历史表并在最后插入)并在一个全新的数据库服务器(测试)上运行它。我已将我的网站代码发布到匹配的测试Web服务器,我收到错误。这是应该使用迁移的方式吗?答案 0 :(得分:1)
如果在Update-Database之后使用了-script标志,那么实际上并不会更新数据库。它只为您提供输出SQL脚本。您必须运行不带-script标志的Update-Database才能实际更新数据库。
按顺序,你应该运行:
我写了一篇博客文章,其中包含分步说明,工作示例和常见问题。 http://wakeupandcode.com/entity-framework-code-first-migrations/
希望这有帮助!