我正在使用的C#项目使用nHibernate,连接字符串在web.config中作为Hibernate元素的属性。我需要在安装程序中读取连接字符串以手动获取连接而不使用Hibernate。我知道我可以使用configManager.connectionStrings,但由于连接字符串已经在web.config的Hibernate部分中定义,我不想再将它复制到connectionStrings元素中。那么我该如何访问呢?
答案 0 :(得分:4)
您可以将连接字符串放在< connectionStrings />中; web.config的一部分然后让NHibernate从那里获取它。在NHibernate设置中,删除< connection.connection_string>属性并将其替换为< connection.connection_string_name>从< connectionStrings>提供名称部分。有关详细信息,请参阅here。
答案 1 :(得分: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中可用,但只引用一次。