2011-10-20 25 views
0

私は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番目の セッションファクトリを設定ファイルに追加しようとしましたが、正しくありませんでした。

+1

あなたの問題は、正確にどのようなものですがあります:この答えを見たことがありますか?あなたが言ったように、(データベースへの接続ごとに)セッションファクトリを持つ必要があります。 – zszep

+0

はい、私は2つのデータベースに接続したい、別の名前で2番目のセクションを追加しようとし、SetProperty(SessionFactoryName、 "correct_factory_name")を使用して例外が発生しました –

+2

Karl Seguin http://codebetter.com/karlseguin/2009/03/30/using-nhibernate-with-multiple-databases/ – zszep

答えて

0

ここにあり良い材料here

関連する問題