public void CanExecuteNonQueryThroughTransaction() { using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (RollbackTransactionWrapper transaction = new RollbackTransactionWrapper(connection.BeginTransaction())) { int rowsAffected = db.ExecuteNonQuery(insertionCommand, transaction.Transaction); int count = Convert.ToInt32(db.ExecuteScalar(countCommand, transaction.Transaction)); Assert.AreEqual(5, count); Assert.AreEqual(1, rowsAffected); } } }
public void CanExecuteQueryThroughDataReaderUsingTransaction() { using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (RollbackTransactionWrapper transaction = new RollbackTransactionWrapper(connection.BeginTransaction())) { using (IDataReader reader = db.ExecuteReader(insertCommand, transaction.Transaction)) { Assert.AreEqual(1, reader.RecordsAffected); } } Assert.AreEqual(ConnectionState.Open, connection.State); } }
public void TransactionActuallyRollsBack() { using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (RollbackTransactionWrapper transaction = new RollbackTransactionWrapper(connection.BeginTransaction())) { db.ExecuteNonQuery(insertionCommand, transaction.Transaction); } } DbCommand wrapper = db.GetSqlStringCommand(countQuery); int count = Convert.ToInt32(db.ExecuteScalar(wrapper)); Assert.AreEqual(4, count); }
public void CanExecuteScalarDoAnInsertion() { string insertCommand = "Insert into Region values (99, 'Midwest')"; DbCommand command = db.GetSqlStringCommand(insertCommand); using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (RollbackTransactionWrapper transaction = new RollbackTransactionWrapper(connection.BeginTransaction())) { db.ExecuteScalar(command, transaction.Transaction); DbCommand rowCountCommand = db.GetSqlStringCommand("select count(*) from Region"); int count = Convert.ToInt32(db.ExecuteScalar(rowCountCommand, transaction.Transaction)); Assert.AreEqual(5, count); } } }