2011-09-20 40 views
1

我在我創建的應用程序中有一個本地的SQL Server Compact數據庫。我生成了一個.dbml文件,我可以使用SqlMetal.exe工具用於LINQ-to-SQL目的,該工具工作正常 - 我現在有用於我的應用程序的表格對象。LINQ到SQL沒有提交更改到本地數據庫

雖然我有一個奇怪的問題。即使在我的DataContext上調用SubmitChanges()之後,數據也不會提交。但奇怪的是,在添加行之後,這些行確實出現在datacontext上的表對象中,但不出現在表中。令我震驚的是,即使在停止並開始我的應用程序之後,這些行仍然存在於DataContext中 - 但幾分鐘後它們似乎消失了。

我配置正確嗎?在使用SqlMetal允許LINQ提交更改之後,還需要執行哪些步驟?

+0

您能否顯示重現此問題的實際代碼? – msarchet

+1

示例代碼...? – Mig

+0

我不確定如何顯示代碼 - 這是一個簡單的對象創建,使用該對象調用InsertOnSubmit方法,然後調用SubmitChanges – Chris

回答

3

我假設你鏈接到使用默認屬性的dbml文件。這意味着,每次啓動調試會話時,該文件都將被複制到您的輸出目錄中,並且僅對該會話纔會看到對其進行的更改(即「複製 - >始終」)。

如果您希望更改持續,請右鍵單擊文件 - >屬性 - >從不復制。默認情況下,IDE假定您不想修改原始數據庫,僅用於調試目的的副本。

+0

哇,不知道它會如此簡單。謝謝! – Chris

相關問題