事务(Transaction)

Top  Previous  Next

NBearLite同时支持ADO.NET 1.1格式的DbTransaction和ADO.NET 2.0的TransactionScope格式的Transaction。

 

对于,TransactionCope格式的Transaction,无须额外传递transaction参数,按照其标准用法使用就可以了。

 

对于db.Insert()/Update()/Delete()/Select()方法,都可以通过他们的SetTransaction()方法绑定ADO.NET 1.1格式的Transaction。

 

例如:

 

//ADO.NET 1.1 style transaction

System.Data.Common.DbTransaction tran = db.BeginTransaction();

db.Insert(Northwind.Categories).AddColumn(Northwind.Categories.CategoryName, "test1").SetTransaction(tran).Execute();

tran.Commit();

db.CloseConnection(tran);

 

//ADO.NET 2.0 style transaction

using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required))

{

  db.Insert(Northwind.Categories).AddColumn(Northwind.Categories.CategoryName, "test1").Execute();

  scope.Complete();

}