Używam NHibernate 4.0.4 i zainstalowałem pakiet nuget "Oracle.ManagedDataAccess" ( https://www.nuget.org/packages/Oracle.ManagedDataAccess/ ).
Aby skonfigurować NHibernate do korzystania ze sterownika Oracle Managed Driver, należy tylko odrobinę zmienić plik hibernate.cfg.xml - i użyć NHibernate.Driver.OracleManagedDataClientDriver jako "connection.driver_class".
Dlatego mój plik konfiguracyjny xml wygląda następująco:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.OracleManagedDataClientDriver</property>
<property name="connection.connection_string">User Id=user;Password=pws;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.18)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=SRV)))</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
</session-factory>
</hibernate-configuration>
Powodzenia - wiem, że korzystanie z Oracle i ORM może być dość irytującym doświadczeniem, ale ostatecznie warte wysiłku.