2014-01-16 189 views
0

在我的web.config中,我有一个连接字符串集,它与我的web.release.config不同,它被更改为使用我们的生产数据库使用xdt:transform。问题是,我只在web.config中包含的数据库上运行add-migrationupdate-database。当我使用发布配置发布时,有什么方法可以运行update-database实体框架迁移

为了解决这个问题在短期内,我改变web.config文件中包含的一个包含在web.release.config,然后运行发布之前update-database连接字符串中,但是这违背了使用一个xdt:transform的目的?

回答

1

如果您使用VS Publish Web工具,您可以在Settings中选中“执行代码优先迁移(在应用程序启动时运行)”。如果你部署到Azure,他们也可以在他们这边运行迁移,我相信(我记得在几个月前就读过关于这个“新”特定Azure的东西,绝对不到一年) 。

否则,你总是可以传递参数给Update-Database瞄准另一个数据库(ConnectionStringNameConnectionStringConnectionProviderName),你不应该有与Web.config文件拨弄。

+0

我无法使用“执行代码优先迁移”选项,因为我使用的是文件系统选项,而不是Web部署。但在输入'Update-Database'时使用参数,谢谢! – CallumVass