正在从Web.config中读取休眠属性

本文关键字:读取 休眠 属性 config Web | 更新日期: 2023-09-27 17:48:48

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

正在从Web.config中读取休眠属性

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

<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中可用,但仅被引用一次。