我想知道是否可以放弃datacontext中只有一个表的一条记录的更改。
我使用数据绑定来绑定表单上的控件。我一次修改一条记录。修改后,用户必须点击保存按钮进行验证。但他可以取消取消。我希望取消按钮放弃用户所做的所有更改。有可能吗?
菊
答案 0 :(得分:2)
如果不在DataContext上调用.SubmitChanges,则更改将不会应用于数据库。
在考虑实体的变更跟踪时,所有这些都与DataContext有关。
如果要清除所有更改,请关闭datacontext并打开一个新的。
答案 1 :(得分:2)
这样你的对话就是一个愚蠢的用户界面。即,它处理数据的所有输入,但不保留任何数据。因此,如果您使用从表单调用的对话框 - 具有类似
的内容If (myDlg.ShowDialog() = DialogResult.Ok)
MyDataContext.SubmitChanges()
End If
这样,如果你的对话框没有返回Ok(即如果他们点击取消,那么DataContext就不会将结果bak持久存储到数据库中。
这也是可重复使用的代码。
答案 2 :(得分:0)
感谢您的回复, 我找到了一个解决方案,当我点击取消时,我重新加载了datacontext。它工作正常,速度更快。感谢