对于我当前的项目,我更愿意在发布时将我的数据库更新为正确的版本,而不是首先通过 App_Start 运行。
似乎支持通过与 Entity Framework (5.0 rc2) 一起提供的命令行工具“migrate.exe”进行手动升级。但我找不到任何关于其他人如何将此工具与 msdeploy 结合以在发布时而不是首次运行时升级数据库的任何信息。
我发现以下页面解释了如何使用 migrate.exe 工具: http ://blog.overridethis.com/blog/post/2012/03/13/Automating-EF-43x-Data-Migrations-in-your -构建.aspx
但这迫使我以某种方式“知道”连接字符串信息。
我的最佳解决方案是:
- 在 setParameters.xml 文件中配置连接字符串以在发布时进行替换
- 在发布代码库 migrate.exe 后发布时使用正确的连接字符串调用
看来我搜索的是“实体框架 MSDeploy 提供程序”(参见:http: //blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-beta-1-已发布.aspx)但似乎他们前一段时间放弃了该选项