3

我正在处理的 C# 项目使用 nHibernate,并且连接字符串在 web.config 中作为 Hibernate 元素的属性。我需要阅读安装程序中的连接字符串才能在不使用 Hibernate 的情况下手动获取连接。我知道我可以使用 configManager.connectionStrings,但由于连接字符串已经在 web.config 的 Hibernate 部分中定义,我不想将它再次复制到 connectionStrings 元素中。那么我怎样才能访问它呢?

4

2 回答 2

4

您可以将连接字符串放在 web.config 的 <connectionStrings /> 部分,然后让 NHibernate 从那里获取它。在 NHibernate 设置中,删除 <connection.connection_string> 属性并将其替换为 <connection.connection_string_name> 提供来自 <connectionStrings> 部分的名称。有关详细信息,请参见此处

于 2008-11-05T17:08:06.573 回答
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 中可用,但仅被引用一次。

于 2009-02-06T15:55:47.527 回答