Използвам NHibernate 4.0.4 и съм инсталирал nuget пакета „Oracle.ManagedDataAccess“ ( https://www.nuget.org/packages/Oracle.ManagedDataAccess/ ).
За да конфигурирате NHibernate да използва управлявания драйвер на Oracle, е необходимо да промените само малко файла hibernate.cfg.xml - и да използвате NHibernate.Driver.OracleManagedDataClientDriver като "connection.driver_class".
Следователно моят xml конфигурационен файл е както следва:
<?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>
Успех - знам, че използването на Oracle и ORM може да бъде доста досадно изживяване, но в крайна сметка си заслужава усилието.