【发布时间】:2011-11-09 20:51:26
【问题描述】:
我发现了一篇关于在使用 NHibernate 3.x 时记录 sql 查询时发现的困难的帖子 事实上,我正在使用 NHibernate 3.2,我无法让 sql 日志记录工作。 我只需要在测试或调试时写入输出窗口的简单日志记录功能。 它曾经在 NH 2.2 中工作,但在这个新版本中出现了问题。 正如this article 所说,我只是将NHibernate 配置为
<property name="show_sql">true</property>
我有这个简单的代码:
using (var session = PersistenceManager.Istance.GetSession()) {
var result = (from agenzia in session.Query<Agenzia>()
select agenzia).ToList();
return result;
}
但似乎没有从数据库中检索到任何内容。所以我不知道是否没有记录任何内容(我正在 Visual Studio 2010 下调试,所以我希望在输出窗口中看到一些东西),或者由于某种奇怪的原因甚至没有执行任何内容。 哪里都不例外,所以有点迷茫
已编辑: 根据要求,这是 NHibernate 的完整配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<!-- NHibernate Configuration -->
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="NHibernate.xlns">
<property name="dialect">
NHibernate.Dialect.MsSql2000Dialect
</property>
<property name="connection.driver_class">
NHibernate.Driver.SqlClientDriver
</property>
<property name="show_sql">true</property>
</session-factory>
</hibernate-configuration>
【问题讨论】:
-
你在使用 log4net 吗? (这是默认值)
-
问题解决了吗?我也有类似的问题。
-
我的问题不在于日志记录。我只是忘记在 Visual Studio 项目中将 .hbm 文件设置为“嵌入为资源”。如果没有这个设置,NHibernate 引擎根本什么都不做……这就是为什么没有日志;)
标签: sql nhibernate logging