systemsSystem.Transactions was introduced in .Net 2.0.  According to Jim Johnson, who was the architect on the team that created this model, one of the design goals of System.Transactions was to extend the reach of transactions beyond DBMS (Database Management Systems) by allowing creation of transactional resources. Another goal was to simplify the programming model and the interface to use transactions.

System.Transactions.TransactionScope provides an implicit programming model in which the transactions are automatically managed by the infrastructure. It provides a simple mechanism for you to specify a code block to participate in a transaction. TransactionScope reduces the complexity of code that need to use transactions and it allows existing transaction providers to be retrofitted to participate in this programming model. Nested transaction work transparently. Disparate transaction providers can participate in a transaction without increasing the complexity of your code. No wonder TransactionScope is so popular! Read More…