Есть ли способ использовать интеграцию Castle ActiveRecord (Castle.Facilities.ActiveRecordIntegration.dll) с несколькими базами данных?
Я уже знаю об использовании NHibernate с несколькими базами данных и ActiveRecord. Но применительно к интеграционному объекту ничего не нашел.
Какие-либо предложения?
Спасибо !!
Ответ 1 · рейтинг 1 · Mauricio Scheffer
Это почти то же самое, что доступ к нескольким базам данных без возможности. Вы определяете элемент <config> для каждой базы данных (как подробно описано в документации AR), например:
<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 в качестве альтернативы.