2011-05-17 30 views
0

我不確定這是來自我身邊的安裝問題還是一些錯誤,但我面臨一個非常奇怪的問題。Visual Studio項目中的Sql服務器CE 4.0突然丟失數據

我正在VS 2010 Winforms項目中針對SQL Server CE 4.0開發。它被保存在項目像這樣

enter image description here

現在發生的事情是,一些奇怪的原因,每當我遇到異常,在我的應用程序或做數據庫更新模式,我失去了我所有的測試數據。不只是一個表,全部是整個數據庫,除了模式對象。

請記住,我沒有做任何事從模型或任何東西重新生成數據庫。它只是刪除所有的數據,目前它甚至不能完全重現。完全不可預知。即使數據被刪除,模式仍然保持完整。

任何人都可以幫忙嗎?

回答

0

好吧,我想出的解決方案 - 非常愚蠢的我,但我認爲其他人可以犯同樣的錯誤所以這裏去 -

我使用的連接字符串| DataDirectory目錄| \ LocalDB.sdf和預期它從項目目錄中取出 - 取而代之的是它從調試文件夾中取出。現在我知道它是有道理的。

因此,每當我進行模式更新時,原始數據庫都會被更改,因此它會替換調試文件夾中存在的LocalDB。由於項目中的db從來沒有任何數據,因此我曾經不必要地獲取空數據庫。

0

實際上,在SQL Server CE數據庫發生更改後(例如在架構中),它會用新副本替換應用程序內部的數據庫。如果sqlserver ce中的數據庫與應用程序內部的數據庫有不同的數據集,應用程序中的以前的數據將會丟失。

相關問題