1

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

几点注意事项:

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

F ew questions:

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

谢谢大家

回答

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

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

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

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

+0

嗨,彼得。非常有用的回应。将尝试使用发布选项推送到本地数据库。 – Talisker