私は2つの接続文字列を持つようにしたいNHibernateの設定複数のデータベース
var config = new Configuration().Configure(path);
config.AddAssembly(Assembly.GetCallingAssembly());
_factory = config.BuildSessionFactory();
とnhibernate.cfg.xmlファイル
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory name="ServiceCenter.DataAccess">
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">
Data Source=.\SQLEXPRESS;Initial Catalog=111;User Id=111;Password=111;
</property>
<property name="show_sql">false</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
</session-factory>
</hibernate-configuration>
この構成を有しています。 2番目の接続文字列と2番目の セッションファクトリを設定ファイルに追加しようとしましたが、正しくありませんでした。
あなたの問題は、正確にどのようなものですがあります:この答えを見たことがありますか?あなたが言ったように、(データベースへの接続ごとに)セッションファクトリを持つ必要があります。 – zszep
はい、私は2つのデータベースに接続したい、別の名前で2番目のセクションを追加しようとし、SetProperty(SessionFactoryName、 "correct_factory_name")を使用して例外が発生しました –
Karl Seguin http://codebetter.com/karlseguin/2009/03/30/using-nhibernate-with-multiple-databases/ – zszep