public int UpdateDataSet( DataSet dataSet, string tableName, DbCommand insertCommand, DbCommand updateCommand, DbCommand deleteCommand, UpdateBehavior updateBehavior, int?updateBatchSize) { using (DatabaseConnectionWrapper openConnection = this.GetOpenConnection()) { if (updateBehavior == UpdateBehavior.Transactional && Transaction.Current == (Transaction)null) { DbTransaction transaction = Database.BeginTransaction(openConnection.Connection); try { int num = this.UpdateDataSet(dataSet, tableName, insertCommand, updateCommand, deleteCommand, transaction, updateBatchSize); Database.CommitTransaction((IDbTransaction)transaction); return(num); } catch { Database.RollbackTransaction((IDbTransaction)transaction); throw; } } else { if (insertCommand != null) { Database.PrepareCommand(insertCommand, openConnection.Connection); } if (updateCommand != null) { Database.PrepareCommand(updateCommand, openConnection.Connection); } if (deleteCommand != null) { Database.PrepareCommand(deleteCommand, openConnection.Connection); } return(this.DoUpdateDataSet(updateBehavior, dataSet, tableName, (IDbCommand)insertCommand, (IDbCommand)updateCommand, (IDbCommand)deleteCommand, updateBatchSize)); } } }