我有一個頁面,我發出幾個疑問,他們都使用log4net的記錄:如何跟蹤查詢的原因/堆棧跟蹤NHibernate的
<appender name="NHibernateAppenderSQL" type="log4net.Appender.RollingFileAppender">
<file value="c:\dev\log\nhibernate-sql.log" />
<appendToFile value="true" />
<maximumFileSize value="10MB" />
<maxSizeRollBackups value="2" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level %thread %logger - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<acceptOnMatch value="true" />
<levelMin value="DEBUG" />
<levelMax value="FATAL" />
</filter>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
所以,我可以看到所有的查詢在頁面生命週期期間發佈(ASP .NET Web窗體)。我發現由於某種原因,NHibernate通過id向我的一個表發出約10個查詢。我想通過預加載數據來提高性能。但是我無法確定觸發這些查詢的地方。
我知道NHibernate的探查器可以把我放心,但我沒有執照在工作中使用它。有沒有其他方法可以找出這些查詢的原因。我還分析了映射文件,但沒有取得任何成功。
使用show-SQL在配置 – kalki