我的WPF应用程序中有一个组合框,它与我的View模型中的对象列表相关联。当用户对所选对象进行更改,然后在保存之前选择另一个项目时,我需要清除所做的更改。
我以为我可以使用dataContext.GetChangeSet()。Updates.Clear()但由于某种原因,该集合是只读的。
我也尝试过使用dataContext.Refresh,但这不起作用,因为数据库中不存在该对象,我是从SP手动创建的。
请帮忙。感谢。
答案 0 :(得分:3)
除了使用Marc的方法使用DeleteOnSubmit(或DeleteAllOnSubmit)删除插入内容外,以下内容实际上还将撤消任何更新:
// clears any updates.
ChangeSet changes = dataContext.GetChangeSet();
dataContext.Refresh(RefreshMode.OverwriteCurrentValues, changes.Updates);
答案 1 :(得分:2)
您最好的选择可能是重新查询单独的数据上下文。你可以使用DeleteOnSubmit
(和反向)来否定插入(来自更改集),但我不想,我自己。