(のTransactionScopeスコープ=新しいのTransactionScope())を使用して、 { CONTEXT1と//実行(Do)何かを コンテキスト2と//実行(Do)何か //変更の保存ではなく、廃棄まだやる context1.SaveChanges(偽); //変更の保存が、破棄まだありません context2.SaveChanges(偽); //私たちはここに来る事は良いを探している場合。 scope.Complete(); context1.AcceptAllChanges(); context2.AcceptAllChanges(); }
私たちは、それは、トランザクションが終了した場合、注意CONTEXT1とコンテキスト2は実際に両方の変更が実際にデータベースにコミットされていない、、、自動ロールバックを変更しないでデータベースへのSaveChanges(偽)に必要な最初のデータベース操作コマンドを送信しますそれが正常にロールバックすることができます。