Transaction is RDBMS concept though you can set it through c# code. In this way, if you rollback your transaction in C#, the same will affect in sp's as well.
In other words you can define transaction scope in sp, DAL (ADO.net), linq etc. But these are the places where you can define your transaction scope which actually belongs to the RDBMS.
To use in C# simply use:
using (TransactionScope scope = new TransactionScope())
Use BeginTrans to start transaction scope in sql. Pls google around these concepts.