1

我試圖安裝的SQL Server CE 4.0作爲我的測試數據庫,以便運行集成測試代碼優先遷移,在這篇文章中描述:http://lostechies.com/erichexter/2013/01/06/using-sql-compact-for-integration-tests-with-entity-framework/忽略集成測試

這是在所有的項目我解決方案:

  • 單元測試
  • 網站
  • DataAccessLayer
  • 核心

我加了一個SQL CE緊湊型4.0參考和的connectionString對單元測試項目app.config文件,然後試圖運行update-database命令:

update-database -ProjectName DataAccessLayer -StartupProjectName UnitTests -Verbose

這工作得很好大多數遷移,但它差一點就完成的,然後我得到這個錯誤:

Direct column renaming is not supported by SQL Server Compact. To rename a column in SQL Server Compact, you will need to recreate it.

有沒有辦法,我可以關閉遷移,只是重新創建整個數據庫只是爲單元測試項目的方法嗎?

回答

1

找到它。剛把設置數據庫初始化的單元測試項目:

System.Data.Entity.Database.SetInitializer(new DropCreateDatabaseAlways<MyContext>());

我在我的單元測試項目稱之爲從FixtureSetup方法。