我ObservableCollection<Widget>
NotifyCollectionChangedAction.Add
执行了context.Widget.InsertOnSubmit(addedWidget)
。
在我执行context.SubmitChanges()
之前,我需要删除其中一个已添加的项目,因为不再需要这些项目,但context.GetChangeSet().Inserts
中仍有一些项目仍需要插入。
可以取消特定的插入/删除而不丢弃DataContext并重新开始吗?
答案 0 :(得分:5)
致电context.Widget.InsertOnSubmit(addedWidget)
后,您可以通过以下方式删除addedWidget
之前实际插入的SubmitChanges
:
context.GetTable(Widget.GetType()).DeleteOnSubmit(addedWidget);
context.SubmitChanges(); // the insert simply doesn't happen.
这只是从它最初要添加的上下文中删除addedWidget
。我会假设您仍然拥有deletedWidget
InsertOnSubmit(deletedWidget)
然后{{1}}并且不会被删除。