0

次のようなアトミックトランザクションの実装に問題があります。

  1. ファイルの追加、編集、移動、コピー、削除などのファイルシステム操作。
  2. オブジェクトの追加や変更の保存などのLinq操作(Entity Framework)。

これらの2つのタイプの操作は、コミット\ロールバックする必要があります。

解決策を探したところ、(トランザクションNTFSと.NETTransactionScopeクラス)が私の最良の選択であることがわかりました。今、私の質問は、TransactionScopeクラスがEFlinq操作をサポートしているかどうかです。簡単な例を教えていただければ、ここで少し迷っています。

4

1 に答える 1

1

はいLinqtoSqlは.NetTransactions.SaveChangesをサポートし、分離レベルReadCommittedのトランザクションを適用します。1つのトランザクション内に複数のSaveChangesを適用する必要がある場合は、トランザクションを明示的に適用します。EF SaveChangesは、最初にトランザクションがすでに存在するかどうかをチェックし、存在しない場合は続行します。その後、独自のトランザクションを適用します。トランザクションごとにSaveChangesが1つしかない場合は、トランザクションを適用する必要はありません。

于 2013-03-03T08:33:35.943 に答える