【问题标题】:Reading Hibernate Properties from Web.config从 Web.config 读取休眠属性
【发布时间】:2010-09-20 18:48:23
【问题描述】:
我正在处理的 C# 项目使用 nHibernate,并且连接字符串在 web.config 中作为 Hibernate 元素的属性。我需要阅读安装程序中的连接字符串才能在不使用 Hibernate 的情况下手动获取连接。我知道我可以使用 configManager.connectionStrings,但由于连接字符串已经在 web.config 的 Hibernate 部分中定义,我不想将它再次复制到 connectionStrings 元素中。那么我该如何访问呢?
【问题讨论】:
标签:
c#
.net
xml
nhibernate
config
【解决方案1】:
您可以将连接字符串放在 web.config 的 部分,然后让 NHibernate 从那里获取它。在 NHibernate 设置中,删除 属性并将其替换为 提供来自 部分的名称。详情请见here。
【解决方案2】:
<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 中可用,但仅被引用一次。