Несколько баз данных с NHibernate - PullRequest
3 голосов
/ 16 апреля 2010

У меня есть две базы данных. Один из Oracle 10g. Еще один из Mysql. Я настроил свое веб-приложение с Nhibernate для Oracle, и теперь мне нужно использовать базу данных MySQL. Так как я могу настроить hibernate.cfg.xml, чтобы я мог использовать обе базы данных в одном приложении?

Мой текущий файл hibernate.cfg.xml:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
    <property name="connection.connection_string">Data Source=xe;Persist Security Info=True;User ID=hr;Password=hr;Unicode=True</property>
    <property name="show_sql">false</property>
    <property name="dialect">NHibernate.Dialect.Oracle9Dialect</property>
    <!-- mapping files -->
    <mapping assembly="DataTransfer" />
  </session-factory>
</hibernate-configuration> 

Ответы [ 2 ]

2 голосов
/ 16 апреля 2010

Вы можете проверить надстройку "Burrow" для nhibernate

http://nhforge.org/wikis/burrow/introduction.aspx

Multiple databases support. multiple databases becomes easy, you don't need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multiple databases.

Кажется, что вы также можете использовать unhaddins, не использовали его, и я не нашел документацию. http://code.google.com/p/unhaddins/

Я должен был сделать это много раз назад, следуя этой статье, это более сложное решение, но я вставляю его на всякий случай.

http://www.codeproject.com/KB/aspnet/NHibernateMultipleDBs.aspx

0 голосов
/ 28 ноября 2012

Здесь может быть более простое решение. Он предоставляет новую функцию, которая позволяет конфигурации hibernate иметь несколько элементов фабрики сеансов, присваивая им имена, и расширяет NHibernate.Cfg.Configuration.Configure для принятия sessionFactoryName.

Настройка файла hibernate.cfg.xml NHibernate для добавления дополнительных строк подключения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...