SSDT:如何部署到特定的LOCALDB文件?

时间:2013-06-28 12:59:54

标签: entity-framework visual-studio-2012 integration-testing sql-server-data-tools

为了无限次地实现运行并重新运行我的集成测试,我想在VS2012中使用SSDT发布到LOCALDB文件实例并在集成测试期间针对该文件运行EF。

很少注意到:

  • 我们首先使用EF数据库
  • 我们已经有一个SSDT项目,我们将用它来部署到一个完整版 我们不同环境中的数据库
  • 我知道SSDT在内部使用LOCALDB实例来构建/部署/检查错误,因此部署到另一个自定义localdb似乎应该有意义/可行

几个问题:

  1. 我可以使用SSDT部署到特定的LOCALDB文件吗?
  2. 我可以从命令行执行此操作,以便在运行集成测试时自动执行此操作吗?
  3. 这对于使用EF进行集成测试大概是个好主意还是有更好的方法? ; - )
  4. 谢谢大家

1 个答案:

答案 0 :(得分:2)

  1. 您可以在项目的“调试”选项中更改SSDT的localdb。默认情况下,调试选项设置为(localdb)实例和与项目对应的DB名称。 如果您尝试将项目更改推送到数据库服务器,则可能会更快地使用“发布配置文件”。您可以使用SQLPackage将更改与一组已知选项一起推送到预定义的服务器/数据库。

  2. 您绝对可以通过命令行推送更改。我们使用MSBuild生成dacpac文件,然后使用SQLPackage将更改从dacpac发布到适当的服务器/数据库。

  3. 不能肯定地说这个。如果它适合你,那可能是一个好的开始。我们在EF之外进行数据库开发并尝试首先进行,而不是信任EF以生成良好的关系模型。

  4. 我在http://schottsql.blogspot.com/search/label/SSDT的一些关于SSDT SQL项目的博客文章可能会有所帮助。