如何为Azure网站实现本地测试数据库?

时间:2013-08-24 03:00:48

标签: asp.net sql sql-server asp.net-mvc-4 azure-sql-database

我正在开发一个使用SQL Azure数据库的网站。我希望能够使用本地托管在调试机器上的数据库来测试我的网站,这样我的设计师就可以处理样式和内容,而无需处理启动Azure模拟器和与外部服务通信的开销。通常在没有连接的区域。

我想可以提取.sql脚本来创建数据库并在每次测试运行时执行它们,但这看起来很乏味。同样,我不确定配置这些部署细节的最佳方法是在开发和发布配置之间切换。我是一个新的网络开发人员,在一个相当大的项目上煞费苦心。

使用ASP.NET MVC4并安装MSSQL 2012以获得它的价值。

1 个答案:

答案 0 :(得分:1)

您可以将SQL azure数据库导出为.bacpac格式,然后将其导入到sql server数据库中。它将创建所有表并填充数据。您不需要在每次测试运行时都执行此操作,只需执行一次,您将拥有适当的数据库以满足调试需求。

在调试和发布之间切换(或者您可以根据需要重命名,例如本地和生产)配置并使用不同的web.config(或配置转换)是处理不同设置的好方法。

如果要将数据库脚本(数据库结构或数据)存储在VCS中 - 可以使用实体框架迁移(新的花式方式)或单独的“SQL Server数据库”类型项目(旧式但经过验证的方式:) )。

同样,EF迁移允许您在每次运行时轻松地重新创建db(具有不同的名称)(用于单元测试目的。然后您可以使用SQL Express文件实例(请记住,它仅用于本地工作,您的设计师不会能够访问sql express实例afaik)