Sql server LinqToSQL不更新数据库

Sql server LinqToSQL不更新数据库,sql-server,linq-to-sql,visual-studio-2010,Sql Server,Linq To Sql,Visual Studio 2010,我在VisualStudio2010中使用向导创建了一个数据库和dbml。一切都很正常,直到我检查了表数据(也在VisualStudioServerExplorer中),并且没有更新 using (var context = new CenasDataContext()) { context.Log = Console.Out; context.Cenas.InsertOnSubmit(new Cena() { id = 1}); context.SubmitChange

我在VisualStudio2010中使用向导创建了一个数据库和dbml。一切都很正常,直到我检查了表数据(也在VisualStudioServerExplorer中),并且没有更新

using (var context = new CenasDataContext())
{
    context.Log = Console.Out;
    context.Cenas.InsertOnSubmit(new Cena() { id = 1});
    context.SubmitChanges();
}
这是我用来更新数据库的代码。此时,我的数据库有一个表,其中有一个名为ID的字段(PK)

**插入[dbo].Cenas值(@p0) --@p0:Input Int(Size=-1;Prec=0;Scale=0)[1] --上下文:SqlProvider(Sql2008)模型:AttributedMetaModel生成: 4.0.30319.1**

这是执行日志(将上下文日志打印到控制台)

我遇到的问题是,这些更新在数据库中不是持久的。我的意思是,当我查询数据库(VisualStudioServerExplorer->新建查询)时,每次都会看到表是空的

我正在使用SQL Server数据库文件(.mdf)

编辑(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}

在context.SubmitChanges()上放置断点;在VS的即时窗口中,执行以下操作:

context.GetChangeSet();
有一个inserts属性,它应该有一条记录。这将有助于判断它是否正在排队插入


HTH.

如果您构建了一个没有参数的
DataContext
,它将从您的App.Config或Web.Config文件中检索其连接字符串。打开适用的数据库,验证它是否指向同一个数据库。

我想你是对的。问题在于,向导无法创建LinqToSql文件(dbml),DataContext读取的是Settings.Settings文件,而不是App.config。所以我确信它访问了正确的数据库,但事实并非如此。我甚至不知道它在做什么