C# LINQ to SQL不向本地数据库提交更改

C# LINQ to SQL不向本地数据库提交更改,c#,linq-to-sql,sql-server-ce,C#,Linq To Sql,Sql Server Ce,我正在创建的应用程序中有一个本地SQL Server Compact数据库。我生成了一个.dbml文件,可以使用SqlMetal.exe工具用于LINQ到SQL的目的,它工作得很好-我现在有了表对象,可以在我的应用程序中使用 不过我有一个奇怪的问题。即使在对我的DataContext调用SubmitChanges()之后,数据也不会提交。但奇怪的是,在添加行之后,这些行确实出现在datacontext的table对象中,但不出现在表中。令我震惊的是,即使在停止和启动我的应用程序之后,这些行仍然存

我正在创建的应用程序中有一个本地SQL Server Compact数据库。我生成了一个.dbml文件,可以使用SqlMetal.exe工具用于LINQ到SQL的目的,它工作得很好-我现在有了表对象,可以在我的应用程序中使用

不过我有一个奇怪的问题。即使在对我的DataContext调用SubmitChanges()之后,数据也不会提交。但奇怪的是,在添加行之后,这些行确实出现在datacontext的table对象中,但不出现在表中。令我震惊的是,即使在停止和启动我的应用程序之后,这些行仍然存在于DataContext中,但几分钟后它们似乎消失了


我的配置正确吗?在使用SqlMetal允许LINQ提交更改之后,我还需要执行其他步骤吗?

我假设您使用默认属性链接到dbml文件。这意味着,每次启动调试会话时,文件都会复制到输出目录中,对它所做的更改只会在该会话中显示(即“复制->始终”)


如果希望更改保持不变,请右键单击文件->属性->从不复制。默认情况下,IDE假定您不想修改原始数据库,只想修改一个副本以进行调试。

您能显示再现此问题的实际代码吗?我不太确定如何显示代码-这是一个简单的对象创建,使用该对象调用InsertOnSubmit方法,然后调用SubmitChangesWow,不知道会这么简单。谢谢