无法获得NHibernate 3.1来记录sql更新或删除语句

|| 我目前正在ASP.Net应用程序中使用NHibernate 3.1,并使其运行良好(使用Fluent)。在调试时,通过使用Application_Start中的以下代码段,我设法使其将所有生成的SQL查询记录到我的输出选项卡中:
private static DebugTextWriter _writer;
protected virtual void Application_Start(object sender, EventArgs e)
{
     _writer = new DebugTextWriter();
     Console.SetOut(_writer);
}
我最近将NHibernate从2.1升级到3.1,现在我的update和delete语句不再输出到日志... 你们知道为什么吗? 谢谢
已邀请:
我终于找到了引起这种现象的原因。事实证明hibernate.cfg.xml文件中的adonet.batch_size条目引起了该问题。删除此属性元素后,最终按预期输出了update和delete语句。 感谢您的回答和评论。
为了使用log4net登录,您不需要定义show_sql,只需要配置名为NHibernate和NHibernate.SQL的记录器。确保您不限制级别-可能是您仅从INFO或更高级别登录,而丢失的消息处于DEBUG级别? 这是一个简短的教程:http://nhforge.org/wikis/howtonh/configure-log4net-for-use-with-nhibernate.aspx

要回复问题请先登录注册