Eduardo,
Para resumir a operara:
Vc pode criar dois tipos de transação no .NET. A transação explicita e implicita.
Segue exemplo de um comando com a transação implicita. (Tudo que estiver dentro do using será abortado se a transação não for executada com sucesso) Tudo que eu falo é tudo mesmo. Comandos no banco de dados e até a criação de arquivo no disco.
Exemplo de transação implicita:
using(TransactionScope scope = new TransactionScope())
{
/* Perform transactional work here */
SeusMetodos();
scope.Complete();
}
Transação Explicita: (é a que vc citou na pergunta. Passando o transaction para cada command e/ou criar uma pilha de contextos de forma assincrona).
Para ajudar na comprienção segue alguns links:
Transação Implicita: http://msdn.microsoft.com/en-us/library/ms172152.aspx
Transação Explicita: http://msdn.microsoft.com/en-us/library/ms172146.aspx
Espero ter ajudado.
Tiago Santos
Líder do Grupo de Usuários Atitude Brasil.Net (www.atitudebrasil.net)
MSP, MCP
Blog: http://www.atitudebrasil.net/blogs/tiagosantos
"Atenção: Se este poste foi útil. Não deixe de voltar no forum e marca-lo como tal."
Tiago Novaes (MSP, MCP) tiago.santos@atitudebrasil.net http://www.atitudebrasil.net