TransactionScope is a very special and important class in the .NET Framework. Supporting transactions from a code block is the main responsibility of this class. We often use this class for managing local as well as distributed transactions from our code. Use of TransactionScope is very simple and straightforward. It is very reliable. For this reason it is very popular among .NET developers. In this article, I will explain transaction related theory and a code sample, and how in various scenarios we can use TransactionScope with various options for managing real life transactions.