Мне интересно, можно ли выполнять собственные прямые обновления SQL в той же транзакции, которую использует NHibernate для обновления моих постоянных объектов?
Да, это возможно с ITransaction.Enlist(IDbCommand).
ITransaction.Enlist(IDbCommand)
Подробнее см. в этом блоге .