我正在C#中製作WinForms應用程序。當我去創造我的數據庫對象,我擁有兩種選擇:LINQ Confusion - 應用程序關閉後數據庫不會持續存在?
- 本地數據庫
- 服務爲基礎的數據庫
所有我想要的是一個簡單的本地數據庫使用我的項目。
但是,如果我選擇「本地數據庫(精簡版)」,那麼之後我創造我的表,將它們拖動到一個LINQ到SQL類的創造者,它說:
選定的對象(S )使用不受支持的數據提供程序。
所以,我不知道爲什麼創建本地數據庫時,如果將表拖動到對象關係設計器時會被視爲不受支持的提供程序。
因此,我嘗試第二種類型,「基於服務的數據庫」。我爲我的基本應用程序佈置我的桌子,並製作我的桌子。當我拖動這些表格時,LINQ-To-SQL Designer正常工作,並繼續在我的應用程序中編寫代碼以插入和更新數據庫條目。
但是,使用第二個「基於服務的數據庫」時,只要應用程序正在運行,我的插入和更新就可以工作。但是,一旦我關閉它就會恢復到之前的狀態。如果我通過服務器瀏覽器手動添加數據,它會一直存在,但是我所做的任何插入操作都不會保存。
爲什麼我不能在LINQ上創建和使用本地數據庫?
如果這不是一個選項,那麼爲什麼不是「基於服務的數據庫」(不管是什麼),堅持超越應用程序關閉?
謝謝你的時間!
編輯:顯然LINQ-to-SQL對象設計器不能在Compact Edition本地數據庫上工作。它仍然可以完成,但你必須使用SqlMetal來生成dmbl文件。