We use TransactionScope for some very complex and lengthy database operations with thousands of rows across dozens or more tables. He does a great job with this. However, IMO, you do NOT want to start and execute transactions in stored procedures and / or triggers. You must enable your call code (C #). You lose more flexibility by processing transactions at a lower level in the stored procedure.
, TransactionScope, . , MTC, , MTC .