EFマルチデータベーストランザクション

(のTransactionScopeスコープ=新しいのTransactionScope())を使用して、
{ 
    CONTEXT1と//実行(Do)何かを
    コンテキスト2と//実行(Do)何か

    //変更の保存ではなく、廃棄まだやる
    context1.SaveChanges(偽); 

    //変更の保存が、破棄まだありません
    context2.SaveChanges(偽); 

    //私たちはここに来る事は良いを探している場合。
    scope.Complete(); 
    context1.AcceptAllChanges(); 
    context2.AcceptAllChanges(); 

}

 私たちは、それは、トランザクションが終了した場合、注意CONTEXT1とコンテキスト2は実際に両方の変更が実際にデータベースにコミットされていない、、、自動ロールバックを変更しないでデータベースへのSaveChanges(偽)に必要な最初のデータベース操作コマンドを送信しますそれが正常にロールバックすることができます。

おすすめ

転載: www.cnblogs.com/netcs/p/12427398.html