データベースとしてSqlServer CE 3.5を使用するWinFormアプリケーションがあります。私は、DB操作のための型付きのデータセットクエリを使用します。この操作にトランザクションを使用する必要があります。問題は、それらが異なるアセンブリに散在していることです。私の質問は、1つのトランザクションですべてを実行するにはどうすればよいですか?ここでの動作例を示します:現在のトランザクションを渡すか、DependentCloneを使用しますか?
//transaction should start here
this.QueryDb();
MyOtherAssembly.myClass.QueryDbForSomethingElse();
System.IO.File.Delete(fileName);
//end transaction
私はTransactionScope
を使用してと思っていますが、それはこのような状況で働くのでしょうか? File.Delete()
が失敗した場合、QueryDbForSomethingElse()
ロールバックを意味しますか? Transaction.Current
またはTransaction.Current.DependentClone(DependentCloneOption.BlockCommitUntilComplete)
をパラメータとして渡し、渡されたパラメータを使用して新しいトランザクションを作成する必要がありますか?
私はこれに関する任意のアイデアをありがとうと思います。
ありがとうございました。 私はトランザクションファイルの削除を必要とせず、私の操作はマルチスレッドではないことを明確にし、追加するべきです。 – dstr