取消datacontext = LInq中的更新

时间:2010-04-01 07:30:23

标签: .net vb.net linq linq-to-sql

我想知道是否可以放弃datacontext中只有一个表的一条记录的更改。

我使用数据绑定来绑定表单上的控件。我一次修改一条记录。修改后,用户必须点击保存按钮进行验证。但他可以取消取消。我希望取消按钮放弃用户所做的所有更改。有可能吗?

3 个答案:

答案 0 :(得分:2)

如果不在DataContext上调用.SubmitChanges,则更改将不会应用于数据库。

在考虑实体的变更跟踪时,所有这些都与DataContext有关。

如果要清除所有更改,请关闭datacontext并打开一个新的。

答案 1 :(得分:2)

这样你的对话就是一个愚蠢的用户界面。即,它处理数据的所有输入,但不保留任何数据。因此,如果您使用从表单调用的对话框 - 具有类似

的内容
If (myDlg.ShowDialog() = DialogResult.Ok)
     MyDataContext.SubmitChanges()
End If

这样,如果你的对话框没有返回Ok(即如果他们点击取消,那么DataContext就不会将结果bak持久存储到数据库中。

这也是可重复使用的代码。

答案 2 :(得分:0)

感谢您的回复, 我找到了一个解决方案,当我点击取消时,我重新加载了datacontext。它工作正常,速度更快。感谢