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()
方法回滚事务。