我使用其嚮導在visual studio 2010中創建了一個數據庫和dbml。一切工作正常,直到我檢查表數據(也在Visual Studio服務器資源管理器),我的更新沒有在那裏。LinqToSQL不更新數據庫
using (var context = new CenasDataContext())
{
context.Log = Console.Out;
context.Cenas.InsertOnSubmit(new Cena() { id = 1});
context.SubmitChanges();
}
這是我用來更新我的數據庫的代碼。在這一點上我的數據庫有一個表與一個字段(PK)命名ID。
** INSERT INTO [DBO] .Cenas VALUES(@ P0) - @ P0:輸入int(尺寸= -1; PREC = 0;量表= 0)[1] - 上下文: sqlProvider的(SQL2008)型號:AttributedMetaModel體形: 4.0.30319.1 **
這是從執行(印刷上下文日誌到控制檯)LOG。
我遇到的問題是這些更新不是數據庫中的持久性。我的意思是,當我查詢我的數據庫(Visual Studio服務器資源管理器 - >新查詢)我看到表是空的,每次。
我正在使用SQL Server數據庫文件(.mdf)。
EDIT(1):立即窗口結果
context.GetChangeSet()
{Inserts: 1, Deletes: 0, Updates: 0}
Deletes: Count = 0
Inserts: Count = 1
Updates: Count = 0
context.GetChangeSet().Inserts
Count = 1
[0]: {DBTest.Cena}
是的,它指向正確的地方;) – codegarten 2010-05-18 17:08:15
我想你是對的。 問題是使用DataContext創建LinqToSql文件(dbml)的嚮導讀取Settings.settings文件而不是App.config。所以我確定它正在訪問正確的數據庫,但事實並非如此。我甚至不知道它在做什麼<< 注意自我:不要相信奇才。 – codegarten 2010-05-18 17:44:32