I'd like to execute a task in parallel where each thread needs to have DB access but if one thread fails the transactions in all threads will fail.
You can assume that the transaction is active before the threads are created and that it's committed after they complete.
I'm also using a TransactionScope under the System.Transactions namespace.