Hi Alk,
NHibernate can use an existing connection using the overload on OpenSession() that takes an IDbConnection.
I do not believe that it can currently use an existing transaction though (as an aside, I'm not sure if this will change in NH2,since I think NH2 mandates transactions).
I could be wrong, but I think your only option is to open the transaction, then enlist the ADO.Net Command objects using ITransaction.Enlist(...). Perhaps something like:
Code:
ISession session = sessionFactory.OpenSession();
ITransaction transaction = session.BeginTransaction();
...
transaction.Enlist(myAdoCommand);
Regards,
Richard