TxSelect and TransactionScope
===

Recently, I've been checking out [RabbitMQ][1] over C# as a way to implement pub/sub.  I'm more used to working with [NServiceBus][2].  NServiceBus handles transactions by enlisting MSMQ in a `TransactionScope`.  Other transaction aware operations can also enlist in the same `TransactionScope` (like MSSQL) so everything is truly atomic.  Underneath, NSB brings in MSDTC to coordinate.

I see that in the C# client API for RabbitMQ there is a `IModel.TxSelect()` and `IModel.TxCommit()`.  This works well to not send messages to the exchange before the commit.  This covers the use case where there are multiple messages sent to the exchange that need to be atomic.  However, is there a good way to synchronize a database call (say to MSSQL) with the RabbitMQ transaction?  



  [1]: http://www.rabbitmq.com/
  [2]: http://nservicebus.com/