Also, coming in on Fabio's comments - our NH wrapper code looks like
this:
Session.Open()
//Do stuff
using (TransactionScope ts = new TransactionScope())
{
Session.Flush();
ts.Complete();
}
Our Session.FlushMode = Never.
That's it... we don't use NH Transactions and we let TransactionScope
do the work for us. It enlists in a TransactionScope if one already
exists and appears to work correctly, though its not been tested fully
with DTC as we don't really use it. I don't really need to use NH
Transactions and don't understand why we should be forced to.
I may be misunderstanding something here but TransactionScope is
embedded in .NET... shouldn't the NH codebase be moving away from NH
Transactions and hooking into TransactionScope instead?