首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate:如何在windows控制台中显示生成的SQL语句

NHibernate:如何在windows控制台中显示生成的SQL语句
EN

Stack Overflow用户
提问于 2010-03-19 00:10:26
回答 1查看 2.5K关注 0票数 0
代码语言:javascript
复制
 return Fluently.Configure()
                .Database(MsSqlConfiguration.MsSql2008
                              .ConnectionString(c => c
                                                         .Database(Database)
                                                         .TrustedConnection()
                                                         .Server(Server)
                              ).ShowSql())
                .ExposeConfiguration(c => c.SetProperty("current_session_context_class", "web"))
                .Mappings(m => m.FluentMappings.AddFromAssemblyOf<TeamMap>()).BuildConfiguration();

我有一个web应用程序。此配置不起作用。

我还有一个控制台应用程序,负责写出所有生成的SQL。

如何获取生成的SQL命令?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-19 00:35:56

因为NHibernate已经通过log4net记录了SQL,所以这是最简单的方法。由于您不需要日志文件,因此可以配置跟踪附加器,并通过ASP.NET Trace的常用方法查看结果。通过在代码中进行配置,您可以确保当您不再需要它时,它会消失。

代码语言:javascript
复制
var appender = new log4net.Appender.AspNetTraceAppender();
appender.Layout = new log4net.Layout.PatternLayout{ ConversionPattern="%-5level - %message%newline" };
appender.Threshold = log4net.Core.Level.Info;
log4net.Config.BasicConfigurator.Configure( appender );

如果您只需要SQL语句,那么您只需要来自NHibernate.Loader.Loader的Info级别的消息。

跟踪是ASP.NET中的一个日志记录工具,其结果可以在生成消息的页面末尾看到,也可以通过~/trace.axd查看

如果跟踪输出对于您的需要来说太过冗长,或者您出于任何原因不想这样做,那么可以使用其他附加器通过网络发送日志消息。

UDPAppender通过UDP在网络上发送日志消息。

TelnetAppender允许您通过telnet连接到log4net。要查看消息,可以从控制台窗口telnet到您的应用程序。

代码语言:javascript
复制
var appender = new log4net.Appender.TelnetAppender{ Port=23 };
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2471421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档