.NETのTransactionScopeを使用してトランザクションを扱う方法を教えてください
.NET でトランザクションの管理を実現するには、TransactionScope クラスを使用する。TransactionScope транザクションを使用する基本的な手順は次のとおり。
- 最初に、System.Transactions 名前空間に参照が追加されているか確認しましょう。
- using (TransactionScope tran = new TransactionScope())
using (TransactionScope scope = new TransactionScope())
{
// 在此处执行事务操作
// 如果所有操作都成功完成,调用Complete方法提交事务
scope.Complete();
}
- TransactionScopeオブジェクトのコードブロック内で、同一トランザクションで実行する必要がある処理を実行します。この処理はデータベースへの挿入、更新、削除などです。
- すべての処理が正常終了すれば、TransactionScope オブジェクトの Complete() メソッドを呼び出してトランザクションをコミットします。例外が発生したり、Complete() メソッドが呼び出されなければ、トランザクションはロールバックされます。
トランザクションスコープを使用する場合は、データベース接続文字列で分散トランザクションが有効になっていることを確認することに注意してください。たとえば、「Enlist=true」オプションを使用して分散トランザクションを有効にすることができます。
string connectionString = "Data Source=ServerName;Initial Catalog=DatabaseName;Integrated Security=True;Enlist=true";
以上は、TransactionScopeを利用したトランザクションの基本的な手順となります。具体的なニーズやビジネスロジックに応じて、適宜調整や拡張を行ってください。