如何使用 NHibernate 将 SQL 调用记录到 Visual Studio 的控制台?

2024-01-09

我有以下配置文件NHibernate http://en.wikipedia.org/wiki/NHibernate:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.connection_string">Server=.\SQLEXPRESS;Database=mydb;Integrated Security=True;</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.release_mode">auto</property>
    <property name="adonet.batch_size">500</property>

    <property name="show_sql">true</property>

  </session-factory>
</hibernate-configuration>

但 SQL 并未显示在 Visual Studio 的输出窗口中。是否强制安装log4net http://en.wikipedia.org/wiki/Apache_log4net?或者应该show_sql独自工作?


要在 Visual Studio 的输出窗口中显示 SQL,请将 log4net 配置为在 log4net 配置中使用 TraceAppender。这:

<appender name="DebugSQL" type="log4net.Appender.TraceAppender">
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
</appender>

然后这个:

<logger name="NHibernate.SQL" additivity="false">
    <level value="DEBUG" />
    <appender-ref ref="DebugSQL" />
</logger>

编辑:我在这里似乎无法正确格式化它。请参阅此链接以获取代码示例 http://suspendedwithpay.wordpress.com/2009/04/03/displaying-nhibernate-sql-in-visual-studios-output-window/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 NHibernate 将 SQL 调用记录到 Visual Studio 的控制台? 的相关文章

随机推荐