Это почти то же самое, что и доступ к нескольким базам данных без возможности. Вы определяете элемент <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 в качестве альтернативы.