2010-08-09 1 views
0

Существует способ использования Castle ActiveRecord Integration (Castle.Facilities.ActiveRecordIntegration.dll) с несколькими базами данных?Замок ActiveRecord Интеграция с несколькими базами данных

Я уже знаю об использовании NHibernate с несколькими базами данных и ActiveRecord. Но, применительно к интеграции, я ничего не нашел.

Любые предложения?

Tks !!

ответ

1

Это почти то же самое, что доступ к нескольким базам данных без объекта. Вы определяете <config> элемент для каждой базы данных (как detailed in the AR docs), например .:

<facility id="arfacility"> 
    <assemblies> 
     <item>MyAssembly</item> 
    </assemblies> 
    <config> 
     <add key="connection.driver_class" value="NHibernate.Driver.SQLite20Driver" /> 
     <add key="dialect"     value="NHibernate.Dialect.SQLiteDialect" /> 
     <add key="connection.provider"  value="Castle.ActiveRecord.Testing.InMemoryConnectionProvider,Castle.ActiveRecord" /> 
     <add key="connection.connection_string" value="Data Source=:memory:;Version=3;New=True" /> 
     <add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" /> 
    </config> 
    <config type="My.Secondary.Database.BaseClass, MyAssembly"> 
     <add key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver" /> 
     <add key="dialect"     value="NHibernate.Dialect.MsSql2000Dialect" /> 
     <add key="connection.provider"  value="NHibernate.Connection.DriverConnectionProvider" /> 
     <add key="connection.connection_string" value="Data Source=.;Initial Catalog=test;Integrated Security=SSPI" /> 
     <add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" /> 
    </config> 
</facility> 

Вы также можете использовать DifferentDatabaseScope в качестве альтернативы.