Grazie al settaggio
<add key="hibernate.show_sql" value="true" />
Siamo in grado di dire a NHibernate di scrivere a console tutto il SQL generato, ma dovete sapere che NHibernate invia queste informazioni non solo alla console, ma anche a log4net con il logger NHibernate.SQL. Ecco quindi che con questa semplice configurazione si può fare il dump di tutto il sql generato su di un file di testo.
<configSections>
...
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<log4net>
<appender name="OutputSQL" type="log4net.Appender.FileAppender">
<param name="File" value="OutputSql.txt" />
<param name="AppendToFile" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%m;" />
</layout>
</appender>
<logger name="NHibernate.SQL" additivity="false">
<level value="DEBUG" />
<appender-ref ref="OutputSQL" />
</logger>
</log4net>
Dal file di testo risultante potete vedere tutto il sql generato durante l'esecuzione del programma ;)
Alk.
Technorati Tags:
NHibernate,
log4net