Using DTC, it will act like a layer between your DB layer and database. Which means any changes made to db will not be applied till you call .Complete(). It really doesn't matter which connection you use and how many database involved in transaction.
make sure you call .Complete() and end of transaction. Or even you can have nested transaction scope
Scope1 Scope2 Scope3
in above , whenever Scope1.Complete is called , data will be moved to database even though child scopes calls Complete