2008-11-04 66 views
3

我正在使用的C#項目使用nHibernate,連接字符串在web.config中作爲Hibernate元素的屬性。我需要在安裝程序中讀取連接字符串以手動獲取連接,而不使用Hibernate。我知道我可以使用configManager.connectionStrings,但由於連接字符串已經在web.config的Hibernate部分中定義了,我不想將它複製到connectionStrings元素中。那麼我怎樣才能訪問它?從Web.config中讀取Hibernate屬性

回答

4

你可以把連接字符串放在web.config的< connectionStrings/>部分,然後讓NHibernate從那裏獲取它。在NHibernate設置中,刪除<connection.connection_string>屬性並將其替換爲<connection.connection_string_name>從<connectionStrings>節中提供名稱。詳情請參閱here

0
<hibernate> 
    <add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/> 
    <add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2000Dialect"/> 
    <add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/> 
    <add key="hibernate.connection.connection_string" value="${local}"/> 
</hibernate> 

<connectionStrings> 
    <add name="local" connectionString="server=(local);database=db;Uid=username;Pwd=password;"/> 
</connectionStrings> 

這使它在您的ConfigurationManager中可用,但只能引用一次。