Tôi đang sử dụng NHibernate 4.0.4 và tôi đã cài đặt gói nuget "Oracle.ManagedDataAccess" ( https://www.nuget.org/packages/Oracle.ManagedDataAccess/ ).
Để định cấu hình NHibernate để sử dụng Oracle Managed Driver, bạn chỉ cần thay đổi một chút tệp hibernate.cfg.xml - và sử dụng NHibernate.Driver.OracleManagedDataClientDriver làm "connect.driver_class".
Do đó, tệp cấu hình xml của tôi như sau:
<?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>
Chúc may mắn - Tôi biết rằng việc sử dụng Oracle và ORM có thể là một trải nghiệm khá khó chịu, nhưng cuối cùng thì đây là một trải nghiệm đáng để nỗ lực.