4

私はEFを使用してSql azureにアクセスしています。ある状況では、2 つのデータベースに変更を加える必要があり、通常は TransactionScope を使用し、MSDTC にエスカレートします。SQL Azure では MSDTC がサポートされていないため、TransactionScope を使用できません。

これを行う別の方法はありますか?(分散トランザクションなしでそれを行い、何らかの方法で状態を手動でロールバックする必要があることを除いて)。

4

2 に答える 2

5

TransactionScopeクラスを使用せずにコードを記述する 1 つの方法は、 SqlTransactionを使用することです。SqlTransaction クラスはトランザクション マネージャーを使用せず、Commit() メソッドを呼び出したときにコミットされるローカル トランザクション内にコマンドをラップします。

SQL Azure でのトランザクションの処理に関する記事をご覧になることをお勧めします。

于 2012-06-23T01:22:55.763 に答える
0

Azure SQL DB で TransactionScope がサポートされるようになりました。次の投稿に対する私の回答を参照してください: TransactionScope() in Sql Azure。これは、EF を使用している場合にも当てはまります。

于 2015-11-20T06:06:13.707 に答える