Я бы предпочел использовать TransactionScope для управления транзакциями, поскольку это то, для чего он был разработан, тогда как DataAccessAdapter, в то время как он способен создавать транзакции, предназначен в первую очередь для DataAccess.
Чтобы попытаться быть более понятным, вы можете использовать TransactionScope для управления несколькими транзакциями в нескольких DataAccessAdapter, в то время как один DataAccessAdapter, кажется, имеет определенную область действия.
Например:
using(TransactionScope ts = new TransactionScope())
{
using(DataAccessAdapter d1 = new DataAccessAdapter())
{
//do some data access stuff
}
using(DataAccessAdapter d2 = new DataAccessAdapter())
{
//do some other data access stuff
}
ts.complete();
}
Еще одно замечание: TransactionScope является потокобезопасным, тогда как DataAdapters - нет.