Vb.net NHibernate未显示启用ShowSql的更新查询

Vb.net NHibernate未显示启用ShowSql的更新查询,vb.net,visual-studio-2010,nhibernate,fluent-nhibernate,Vb.net,Visual Studio 2010,Nhibernate,Fluent Nhibernate,我正在使用Visual Studio 2010和NHibernate 3.1,并使用Fluent NHibernate进行映射。它工作得很好,启用了ShowSql后,它显示了所有select查询 我已经到了程序中我正在执行一些更新的部分,但是它们没有显示出来。起初,我认为即使使用显式事务,也不会触发更新,但数据库中的数据正在更改。因此,不知何故,查询正在执行,但没有显示在VisualStudio的输出窗口中 有什么想法吗 编辑 结果我把两个答案混在一起了。在输出窗口中,从NHibernate生成

我正在使用Visual Studio 2010和NHibernate 3.1,并使用Fluent NHibernate进行映射。它工作得很好,启用了ShowSql后,它显示了所有select查询

我已经到了程序中我正在执行一些更新的部分,但是它们没有显示出来。起初,我认为即使使用显式事务,也不会触发更新,但数据库中的数据正在更改。因此,不知何故,查询正在执行,但没有显示在VisualStudio的输出窗口中

有什么想法吗

编辑 结果我把两个答案混在一起了。在输出窗口中,从NHibernate生成UPDATE语句完全不需要Log4Net

结合ShowSQL设置
ADONebatchSize(0)
确实解决了问题。

我建议您尝试一下。过去一年左右我一直在使用它,它被证明是无价的。它将以非常有用的方式向您显示所有查询。你可以用30天的试用期来解决你的问题

  • 免责声明:我与冬眠的犀牛或艾恩德没有任何关系,我只是一个快乐的顾客

您的logConfig.xml文件似乎缺少配置标记下的configSections部分

<configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
</configSections>

另一种方法是删除配置标记,使log4net标记位于xml文档的根。为了进行故障排除,您可以将配置放在MyApp.exe.config或Web.config中,如中所示

有关更多详细信息,请参阅


如果您想使用它记录应用程序的其他部分,请参阅。

谢谢。我曾考虑过使用NH Profiler,但由于它不是我能负担得起的东西,我一直在试图找到解决我自己问题的方法。另一个选择是使用log4net。看看我没有批量大小集,也没有hibernate.cfg.xml,因为我正在使用Fluent NHibernate配置我使用Fluent NHibernate,我仍然有一个NHibernate.config文件。我还有一个adonet.batch\u大小的。无论您是通过编程方式还是在配置文件中进行设置,都无关紧要。试着把它设为零?fluntly.Configure().Database(MsSqlConfiguration…..ConnectionString(c=>c.FromConnectionStringWithKey(“connString”)).adonbatchsize(0)谢谢。当我回到代码中时,我将尝试此方法。我假设这仅用于测试目的?似乎将批量大小设置为0会影响生产中的性能。
type=“log4net.Appender.TraceAppender”
如果您想编写visual studio输出窗口,请使用此选项。感谢您的反馈。我做了此更改,但在输出中仍然没有看到任何内容。是否缺少某些配置?是否有可能在执行更新时看到代码?您是否确实将此内容包装在事务中?哈哈你试过强制提交吗?另外,我不是想卖给你NHProfiler,但是你为什么不使用30天的试用期来解决你的问题。这不会花费你任何东西。如果你试过log4net和NHProf,你会确定你的日志或代码是否有问题。你看到了吗?看起来像是你的问题(解决方案)。我尝试了NH Profiler试用版,我的代码运行良好。NH Profiler显示更新命令。我知道日志记录器不工作-因为Log4Net甚至没有显示select命令(ShowSQL正在输出)。我对NH Profiler的功能毫无疑问,我只是不想看到“可能”是什么如果从长远来看我无法使用它。我希望找到如何解决核心软件问题的方法,而不是第三方解决方案。如果ShowSQL不显示更新,这看起来真的像是一个bug。谢谢-但是将其添加到配置XML中也不会导致任何日志被推送到输出窗口。请检查确保Visual Studio的输出窗口中的下拉列表已选中Debug。Log4net对我有效,我能看到的唯一区别是您使用的是单独的文件。祝您好运!