TransactionScope
本身不支持手動提交事務,它是一個自動管理事務的類。當你在 using
語句塊中執行代碼時,TransactionScope
會自動處理事務的提交和回滾。如果在 using
語句塊中沒有發生任何異常,事務將自動提交;如果發生異常,事務將自動回滾。
然而,如果你需要更多的控制權,可以使用 CommittableTransaction
類來手動提交事務。這是一個示例:
using System;
using System.Transactions;
class Program
{
static void Main()
{
// 創建一個新的可提交事務
using (var transaction = new CommittableTransaction())
{
try
{
// 在此處執行你的數據庫操作
// 提交事務
transaction.Commit();
}
catch (Exception ex)
{
// 發生異常,回滾事務
transaction.Rollback();
Console.WriteLine("Error: " + ex.Message);
}
}
}
}
在這個示例中,我們使用 CommittableTransaction
類創建了一個可提交的事務。然后,我們在 try
語句塊中執行數據庫操作。如果操作成功,我們調用 transaction.Commit()
方法提交事務。如果發生異常,我們調用 transaction.Rollback()
方法回滾事務。