webForumDet fria alternativet

log4net + nhibernate

3 svar · 933 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

Tjena,
Via denna kod så får jag ut info om selectsatser m.m. som nhibernate genererar men går det att få strängen i renare sql? Alltså, jag skulle vilja kunna kopiera koden och köra den i sql management studio utan att köra en massa replacer och stuva om parametrar osv.

  <log4net>
    <appender name="GeneralLog" type="log4net.Appender.RollingFileAppender">
      <file value="E:\www\log\nhibernate.txt" />
      <appendToFile value="false" />
      <maximumFileSize value="3000KB" />
      <rollingStyle value="Size" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%d{HH:mm:ss} [%t] %-5p %c - %m%n" />
      </layout>
    </appender>
    <root>
      <level value="OFF" />
      <appender-ref ref="GeneralLog" />
    </root>
    <logger name="NHibernate.SQL" additivity="false">
      <!-- NHibernate.SQL -->
      <level value="DEBUG" />
      <!-- DEBUG, INFO, FATAL, WARN -->
      <appender-ref ref="GeneralLog" />
    </logger>

Den genererade koden idag ser ut ex. så här:

15:42:52 [5] DEBUG NHibernate.SQL - select unit0_.UnitID as UnitID11_, 
unit0_.ParentID as ParentID11_, unit0_.LanguageID as LanguageID11_, 
unit0_.UnitName as UnitName11_, unit0_.IsEnabled as IsEnabled11_, 
unit0_.CreateDate as CreateDate11_, unit0_.LastUpdatedDate as 
LastUpda7_11_, (select top 1 e.Employees from UnitEmployees e where 
e.UnitID = unit0_.UnitID order by e.CreateDate desc) as formula3_ from 
dbo.Units unit0_ where unit0_.ParentID=@p0 order by unit0_.UnitName 
asc;@p0 = 12345678-98765-abcd-efgh-ijklmnopqrst

Men jag skulle vilja ha den så här i bästa av världar:

select unit0_.UnitID as UnitID11_, unit0_.ParentID as ParentID11_, 
unit0_.LanguageID as LanguageID11_, unit0_.UnitName as UnitName11_, 
unit0_.IsEnabled as IsEnabled11_, unit0_.CreateDate as CreateDate11_, 
unit0_.LastUpdatedDate as LastUpda7_11_, (select top 1 e.Employees from 
UnitEmployees e where e.UnitID = unit0_.UnitID order by e.CreateDate desc) 
as formula3_ from dbo.Units unit0_ 
where unit0_.ParentID='12345678-98765-abcd-efgh-ijklmnopqrst' 
order by unit0_.UnitName asc;
KennyEliassonMedlem sedan jan. 20103 inlägg
#2

Jag har inget svar men jag vet att NHProf (https://www.nhprof.com) klarar av detta. Det finns en 30 dagars trial som är mer än värd att testa.

doggelitoMedlem sedan juni 20003 076 inlägg
#3

Tack för tipset, profilern ser lovande ut! :)

erkaMedlem sedan dec. 19996 522 inlägg
#4

Vill du inte köpa NHPROOF kan du ju alltid köra sql profiler som följer med sql-server, dock får du inte alla tips om hur du använder Nhib rätt eller inte ;)

130 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)