事务(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(); } |