C# 本地数据库在生成后丢失更改
我想将新行数据(用户名、密码)添加到现有数据库中,但不幸的是,它只是临时添加的。程序一关闭,数据库就恢复到原来的状态。。非常感谢您的帮助您是否看到以下内容: 我假设您正在使用Linq to Sql。C# 本地数据库在生成后丢失更改,c#,linq-to-sql,C#,Linq To Sql,我想将新行数据(用户名、密码)添加到现有数据库中,但不幸的是,它只是临时添加的。程序一关闭,数据库就恢复到原来的状态。。非常感谢您的帮助您是否看到以下内容: 我假设您正在使用Linq to Sql。 实体的Linq应该是:context.SaveChanges()在使用SaveChanges()时应包括哪些内容??我试过了,但没有被识别:(顺便说一句,谢谢你的链接,我疯狂地用谷歌搜索了它,但也许我用谷歌搜索了错误的东西:P@Kiran是的,很抱歉我犯了一个错误,然后更改了我的答案。如果使用Li
实体的Linq应该是:
context.SaveChanges()代码>在使用SaveChanges()时应包括哪些内容??我试过了,但没有被识别:(顺便说一句,谢谢你的链接,我疯狂地用谷歌搜索了它,但也许我用谷歌搜索了错误的东西:P@Kiran是的,很抱歉我犯了一个错误,然后更改了我的答案。如果使用Linq to Entities(使用实体框架),您将使用SaveChanges。对于LinqtoSQL,请使用>>SubmitChanges()。您的问题是否已解决?似乎主sdf文件总是被复制到bin>debug文件夹并进行更新,但我的服务器资源管理器显示的主sdf的表数据始终相同。我尝试修改连接,似乎有所帮助。我甚至将sdf文件的属性更改为“如果更新,则复制”你在使用sql express吗?检查服务器中的所有数据库名称,你应该有一个像X:\\…\\user.sdf
这样的数据库和另一个数据库user
,你的第一个数据库将被更新,但不是第二个。要在sql server中检查它很容易,但在express中,请从sys.databases中选择*代码>在sqlcmd
窗口中。
string connectionString =
"Data Source =|DataDirectory|\\user.sdf";
User context = new User(connectionString);
Userdetail newUser = new Userdetail();
newUser.Username = txtReg.Text;
newUser.Password = txtRegPassword1.Password;
try
{
context.Userdetail.InsertOnSubmit(newUser);
context.SubmitChanges();
}
catch (ChangeConflictException)
{
context.ChangeConflicts.ResolveAll(System.Data.Linq.RefreshMode.KeepChanges);
}