我使用其向导在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