If HibernateTransactionManager.GetIDbTransaction() receives as parameter a subclass of AdoTransaction, it fails to retrieve the field trans that contains the IDbTransaction. The reason is that through reflection there's no acces to private fields of superclasses.

This patch fixes that.
This commit is contained in:
unknown
2015-06-15 09:24:01 +03:00
parent cdfcc1d9a6
commit 9a85374602

View File

@@ -667,7 +667,7 @@ namespace Spring.Data.NHibernate
{
try
{
FieldInfo fi = hibernateAdoTx.GetType().GetField("trans", BindingFlags.Instance | BindingFlags.NonPublic);
FieldInfo fi = typeof(AdoTransaction).GetField("trans", BindingFlags.Instance | BindingFlags.NonPublic);
adoTransaction = fi.GetValue(hibernateAdoTx) as IDbTransaction;
}
catch (Exception e)