Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

C# NHibernate &Oracle Managed Client


Estou usando o NHibernate 4.0.4 e instalei o pacote nuget "Oracle.ManagedDataAccess" ( https://www.nuget.org/packages/Oracle.ManagedDataAccess/ ).

Para configurar o NHibernate para usar o Oracle Managed Driver é necessário alterar um pouquinho o arquivo hibernate.cfg.xml - e usar o NHibernate.Driver.OracleManagedDataClientDriver como o "connection.driver_class".

Portanto, meu arquivo de configuração xml é o seguinte:
<?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>

Boa sorte - eu sei que usar Oracle e ORM pode ser uma experiência bastante chata, mas que vale a pena o esforço no final.