使用 TransactionScope 对象创建事务

TransactionScope 类不属于ADO.NET事务,它属于System.Transaction 命名空间。

使用System.Transaction 命名空间的类在.NET 代码中创建事务,TransactionScope 类是最常用的一个。

它创建一个称为“本地轻量级事务”的标准事务,如果需要,该事务自动升级为完全分布式事务。

用法:

SqlConnectionString cn =
                 ConfigurationManager.ConnectionStrings["conn"];
using (TransactionScope ts = new TransactionScope())
{
          using (SqlConnection conn = new SqlConnection(cn.ConnectionString))
          {
                   conn.Open();
                   using (SqlCommand cmd = conn.CreateCommand())
                   {
                             cmd.CommandText = "SELECT * FROM employees";
                             cmd.ExecuteScalar();
                    }
                    ts.Complete();
          }
}

 

设置事务选项

TransactionScope 类接受一个TransactionOptions 对象作为参数,该参数可以设置为 Required、RequiresNew、
Suppress 中的一个。TransactionOptions 对象的TimeOut 属性可以设置超时时间,还包含一个IsolationLevel 属
性用于设置事务孤立级别。

注:

TransactionOptions opt= new TransactionOptions();
opt.IsolationLevel = System.Transactions.IsolationLevel.Serializable;
TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, opt);

posted on 2008-10-22 22:30  李炜  阅读(595)  评论(0编辑  收藏  举报

导航