Для будущих пользователей, которые сталкиваются с этой проблемой.
Эта статья помогает http://www.darkside.co.za/archive/2008/01/21/castle-activerecord-connecting-to-multiple-databases.aspx
Чтобы заставить это работать, мне пришлось добавить эти фрагменты кода в мой App.config
<activerecord>
<config>
<add key="connection.driver_class"
value="NHibernate.Driver.OracleClientDriver" />
<add key="dialect"
value="NHibernate.Dialect.Oracle10gDialect" />
<add key="connection.provider"
value="NHibernate.Connection.DriverConnectionProvider" />
<add key="connection.connection_string"
value="Data Source =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = SERVERNAME)
(PORT = 1521)
)
(ADDRESS =
(PROTOCOL = TCP)
(HOST = SERVERNAME)
(PORT = 1521)
)
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = NAME)
)
);User Id = ID; Password = PASS;" />
</config>
А это
<config type="Sens.SensClass`1, Sens">
<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=mntcon016\;Initial Catalog=TEST;Trusted_Connection=True;" />
</config>
</activerecord>
<configSections>
<section name="activerecord"
type="Castle.ActiveRecord.Framework.Config.ActiveRecordSectionHandler, Castle.ActiveRecord" />
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="proxyfactory.factory_class"> NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle </property>
</session-factory>
</hibernate-configuration>
Затем в Program.cs перед Application.Run у меня есть
ActiveRecordStarter.Initialize(
ActiveRecordSectionHandler.Instance, types.ToArray());
Где типами является список (функция требует массив) типа []. Этот список должен содержать каждый класс, который будет использоваться с Nhibernate. В моем случае он содержит классы SQL и Oracle. Как и этот класс, который наследуется всеми моими классами SQL
public abstract class TestClass<T> : ActiveRecordBase<T>
{
}
Для генерации своих классов SQL я использовал генератор, и он сделал их сериализуемыми, которые нужно было снять. Также обратите внимание, что у вас не может быть классов с одинаковым именем, иначе вы получите ошибку.