1

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

几点注意事项:

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

几个问题:

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

谢谢你们

4

1 回答 1

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

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

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

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

于 2013-06-28T15:23:08.247 回答