Implement TransactionScopeAsyncFlowOption for the TransactionScope class. TransactionScopeAsyncFlowOption has been added in .net 4.5.1
Yes, this is still a problem in Mono:
If you create a TransactionScope and inside is any async method, there is a danger of thread changing (just if the operation takes long) and the transaction scope is not going to work over threads.
"Transaction.Current has changed inside of the TransactionScope"
"The current TransactionScope is already complete"
For more info see:
Still nothing solved on this issue?