When I was writing my previous article, I was keenly aware that it had it's limitations. One in particular was using an already open DataContext.
Take the following code:
Since it was created outside the TransactionScope I have no way of automatically sharing these connections.
To help solve this problem (cleanly) I added a SharedConnectionScope class and a UseExistingConnection call (shown below) - both take an existing DataContext.
Caveat: It only works with one 'external' connection, but that's still better than none.
You can grab the updated code here.