学习NHibernate的配置中是只有一个数据库连接的,当需要多个不同的数据库连接的时候,可以新增加一个xml配置文件(hibernate.cfg.xml),其内容如: 
<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.0" > 
    <session-factory name="NHibernate.Test"> 
        <!-- properties --> 
        <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> 
        <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> 
        <property name="connection.connection_string">Server=localhost;initial catalog=nhibernate;Integrated Security=SSPI</property> 
        <property name="show_sql">false</property> 
        <property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property> 
        <property name="use_outer_join">true</property> 
        <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property> 
        <!-- mapping files --> 
        <mapping assembly="NHibernate.Examples" /> 
    </session-factory> 
     
</hibernate-configuration>

解决方案 »

  1.   

    代码类似于: 
            private void Config(string configXmlFile,Type[] types) 
            {             
                try 
                { 
                    nConfig = new Configuration(); 
                    nConfig.Configure(configXmlFile); 
     
                    for ( int i=0;i<types.Length;i++) 
                    { 
                        nConfig.AddClass(types[i]); 
                    } 
                    nSessionFactory = nConfig.BuildSessionFactory(); 
                } 
                catch(Exception e) 
                { 
                    throw e; 
                } 
            }