c# - 如何清除 Linq To Sql 中的更改?

标签 c# wpf linq-to-sql datacontext

我的 WPF 应用程序中有一个组合框,它与 View 模型中的对象列表进行数据绑定(bind)。当用户对所选对象进行更改,然后在保存之前选择另一个项目时,我需要清除所做的更改。

我以为我可以使用 dataContext.GetChangeSet().Updates.Clear() 但由于某种原因该集合是只读的。

我也尝试过使用 dataContext.Refresh 但这不起作用,因为数据库中不存在该对象,我是从 SP 手动创建的。

请帮忙。谢谢。

最佳答案

除了使用 Marc 的方法(使用DeleteOnSubmit(或DeleteAllOnSubmit)删除插入内容)之外,以下操作实际上也会撤消任何更新:

// clears any updates.  
ChangeSet changes = dataContext.GetChangeSet();
dataContext.Refresh(RefreshMode.OverwriteCurrentValues, changes.Updates);   

关于c# - 如何清除 Linq To Sql 中的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1158340/

相关文章:

c# - 如何在 C# 中检索 URL 协议(protocol)请求

c# - 在linq中使用where子句选择随机问题

c# - LINQ To SQL 能否检测到表关联中断的位置?

c# - Mplayer转储视频音频,仅在非C硬盘上工作良好

c# - VS2010 上的 TFS,合并代码问题

c# - 没有类型的 IEnumerable 属性

c# - WPF/C# 中这种线程方式效率低下吗?

c# - 在已编译查询中重用现有的 linq 表达式

c# - 我如何访问网络摄像头并在 asp.net c# 中捕获图像?

c# - 为 appsettings.json 编写自定义转换器