Skip to content

Instantly share code, notes, and snippets.

@forcewake
Created April 10, 2014 09:40
Show Gist options
  • Save forcewake/10362179 to your computer and use it in GitHub Desktop.
Save forcewake/10362179 to your computer and use it in GitHub Desktop.
public class TransactionProvider : ITransactionProvider<SqlTransaction>
{
private const string TransactionField = "StoreTransaction";
private const BindingFlags BindingFlags = System.Reflection.BindingFlags.FlattenHierarchy | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.InvokeMethod
| System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.GetProperty | System.Reflection.BindingFlags.NonPublic;
public SqlTransaction GetTransaction()
{
var sqlTransaction = (SqlTransaction)this.transaction.GetType()
.InvokeMember(TransactionField,
BindingFlags, null, this.transaction, new object[0]);
return sqlTransaction;
}
private readonly DbTransaction transaction;
public TransactionProvider(DbTransaction transaction)
{
this.transaction = transaction;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment