事务的并发在事物中有着重要作用,在System.Transaction中针对事务的并发提供了管理操作,常用有以下4种。
Serializable(默认) 可读数据,无法修改,也无法加入新数据。
RepeatableRead 可读数据,无法修改,但可以加入新数据。
ReadCommitted 无法读取数据,但可以修改。
ReadUncommitted 可以读取和修改数据。
显示事务中建立事物级别:
TransactionOptions Topt = new TransactionOptions() Topt.IsolationLevel = System.Transactions.IsolationLevel.Serializable; using (CommittableTransaction tran = new CommittableTransaction(Topt)) //将声明的事务级别加入事务中 { conn.Open(); //所有ADO.NET操作放在using块中 conn.EnlistTransaction(tran); //显示加入事务 try { //ADO.NET操作 tran.Commit(); //确认事务完成 } catch { tran.Rollback(); //事务回滚操作 } }
隐式事务中建立事物级别:
TransactionOptions Topt = new TransactionOptions() Topt.IsolationLevel = System.Transactions.IsolationLevel.Serializable; using (TransactionScope Ts = new TransactionScope(TransactionScopeOptions.Required,Topt)) //事务级别加入隐式事务中。 { //一些ADO.NET操作 }
