Limitation of TransactionScope (and using)

If you read the documentation for TransactionScope, you will find: “If no exception occurs within the transaction scope […], then the transaction in which the scope participates is allowed to proceed. If an exception does occur within the transaction scope, the transaction in which it participates will be rolled back.” Later the doc says: “When…

A Simpler TransactionScope

In .Net 3.5 I can write a transactional code block as follows:transacted(()=> { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); SqlCommand command1 = new SqlCommand(commandString1, connection); command1.ExecuteNonQuery(); SqlCommand command2 = new SqlCommand(commandString2, connection); command2.ExecuteNonQuery(); } }); No need for using and no need to remember to call Complete at the end of the block….