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