It appears that when auto-enlistment is not enabled, explicit enlistment (FbConnection.EnlistTransaction) is disabled too.
The connection string parameter Enlist is normally only about enabling automatic enlistment at connection opening. It is not supposed to disable explicit enlistment.
Found while trying to get NHibernate transaction scope tests working with Firebird: rollback test fails even in a dedicated branch where I have added explicit enlistment. (I was hoping to be able to test that this way, since auto-enlistment breaks the NHibernate tests due to
). Firebird .Net provider is the only provider tested by NHibernate which behaves in such a way.
Checked in the source, it looks like `Enlist` is not only used for auto-enlistment at connection opening, but also for globally disabling system transactions.