2

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

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

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

请帮忙。谢谢。

4

2 回答 2

3

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

// clears any updates.  
ChangeSet changes = dataContext.GetChangeSet();
dataContext.Refresh(RefreshMode.OverwriteCurrentValues, changes.Updates);   
于 2010-06-30T12:47:47.297 回答
2

您最好的选择可能是重新查询到单独的数据上下文。您可以通过使用(反之亦然)来否定插入(来自变更集)DeleteOnSubmit,但我自己不想这样做。

于 2009-07-21T10:30:21.553 回答