2011-02-22 39 views
7

問題如何使用SQL CE 4.0創建內存數據庫?

如何使用SQL CE 4.0創建內存數據庫?

語境

我希望做一些單元測試(或自動化集成測試)與一個真正的數據庫,但是,一個是內存。這將使測試運行得更快,而且一旦測試完成後,數據庫將在稀薄的空氣中消失。

根據Scott Guthrie的博文「VS 2010 SP1 and SQL CE」,新的SQL CE 4.0能夠做到這一點:提供內存數據庫。

但是,我找不到任何教程或代碼示例在網上顯示如何完成。我只在這個blog post中找到這個連接字符串的例子。但是,這也碰到了硬盤。

enter image description here

回答

7

SQL Server CE 4.0不允許使用純內存數據庫。

博客文章說CE運行你的應用程序的內存。

Scott發表評論說,CE將文件映射到內存中,但仍然需要該文件。

+0

我同意。你可以參考我的帖子以發表評論。 – mellamokb 2011-02-23 13:24:56

3

@linkgoron,

您是否正在考慮在內存數據庫功能添加?這可以幫助 很多單元測試(在每個測試中使用Code-First創建/刪除內存數據庫中的 ),這應該比基於文件的數據庫更快 (我已將此方法與其他數據庫一起使用 ,和 會喜歡實際使用SQL Server CE)。這也減少了在單元測試時需要模擬訪問/存儲庫中的數據 。

SQL CE本身在內存中運行 - 所以 是相當快的創建和使用 單元測試項目。我相信它 需要磁盤上的數據庫文件 - 但 立即將它映射到內存(因此 它與內存一樣快)。你會 仍創建/刪除文件作爲您的設置/拆解邏輯的部分 - 但 這應該是像刪除 文件(沒有明確的丟棄或 需要清理)一樣簡單。

希望這有助於

斯科特

〜從鏈接的博客文章。