2011-11-07 8 views
1

私はNotifyCollectionChangedAction.Addcontext.Widget.InsertOnSubmit(addedWidget)を実行するObservableCollection<Widget>を持っています。私はcontext.SubmitChanges()を実行する前に変更セットからのLinq-to-SQLの削除

は、私はそれが不要になったとして、しかし、まだ私はまだ挿入したいcontext.GetChangeSet().Inserts内の項目が存在しない場合が追加された項目のいずれかを削除する必要があります。

DataContextをスローしてもう一度やり直すことなく、特定の挿入/削除をキャンセルすることは可能ですか?

答えて

4

context.Widget.InsertOnSubmit(addedWidget)を呼び出した後、あなたが実際に使用して前SubmitChangesに挿入されるaddedWidgetを削除することができます。

context.GetTable(Widget.GetType()).DeleteOnSubmit(addedWidget); 
context.SubmitChanges(); // the insert simply doesn't happen. 

これを単にそれは、もともと追加しようとしていたコンテキストからaddedWidgetを削除します。私はまだdeletedWidgetを持っていれば、InsertOnSubmit(deletedWidget)になり、削除されないと思います。

関連する問題