10

Web.configファイルでNHibernate構成を正常にセットアップしました。ただし、connectionStrings要素で接続文字列を定義する必要があるASP.NETメンバーシップも使用しています。NHibernate構成でこの値を使用して、接続文字列を2回定義する必要がないようにする方法はありますか?

4

2 に答える 2

17

NHibernate設定でconnection.connection_string_name要素を使用できます。こちらをご覧ください。次に、NHibernateはweb.configファイルから名前で接続文字列を取得します

connection.connection_string_name構成で属性を使用する必要があります:

<connectionStrings>
    <add name="default" connectionString="server=(local);etc." />
</connectionStrings>

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory>
        <property name="connection.connection_string_name">default</property>
    </session-factory>
</hibernate-configuration>

流暢な構成では、次のことができます

ConnectionString(c=>c.FromConnectionStringWithKey("YourConnStrName"))

NHibernate構成APIを使用すると、次のことができます。

var cfg = new Configuration();
cfg.DataBaseIntegration(db =>
{
    db.ConnectionStringName = "default";             
});
于 2009-11-17T16:11:47.627 に答える
1

slyの答えに追加するために、次のようにFluentNHibernateを使用してこれを行うことができます(Fluent構成で):

.ConnectionString(c=>c.FromConnectionStringWithKey("con_development"))
于 2010-05-14T10:25:33.110 に答える