Ik ben hier nog eens met een NHibernate vraagstuk.
Ik ben nog wat verder aan het pielen, en ik wil een query uitvoeren die een sum() returned. Dit is op zich niet zo moeilijk; ik doe het zo:
Dit werkt gewoon goed.
Echter, ik wil dit iets anders doen, ik wil de som van de prijzen * de aantal stuks:
Dit is andere koek. Ik krijg een exceptie van NHibernate: 'Could not execute query'.
De stacktrace is te herleiden tot een GetOrdinal method van een IDataReader die uitgevoerd wordt.
Echter, als ik de query die NHibernate bouwt en naar sql server stuurt, onderschep, en deze uitvoer in Query Analyzer, dan krijg ik gewoon het goede resultaat.
De query die NHibernate naar Sql Server stuurt, is dit:
Ja, natuurlijk, het moet x0_0_ zijn, maar hoe komt ie nu bij die x1_0_.
Een bugje in NHibernate ?
Ik ben nog wat verder aan het pielen, en ik wil een query uitvoeren die een sum() returned. Dit is op zich niet zo moeilijk; ik doe het zo:
code:
1
2
| IQuery q = theSession.CreateQuery ("select sum(ol.Price) from OrderLine ol"); object o = q.UniqueResult(); |
Dit werkt gewoon goed.
Echter, ik wil dit iets anders doen, ik wil de som van de prijzen * de aantal stuks:
code:
1
2
| IQuery q = theSession.CreateQuery ("select sum(ol.Price * ol.NumberOfItems) from OrderLIne ol"); object o = q.UniqueResult(); |
Dit is andere koek. Ik krijg een exceptie van NHibernate: 'Could not execute query'.
De stacktrace is te herleiden tot een GetOrdinal method van een IDataReader die uitgevoerd wordt.
Echter, als ik de query die NHibernate bouwt en naar sql server stuurt, onderschep, en deze uitvoer in Query Analyzer, dan krijg ik gewoon het goede resultaat.
De query die NHibernate naar Sql Server stuurt, is dit:
En de exceptie die ik krijg, zegt, dat de FieldNameLookup gefaald heeft, voor field x1_0_select sum(orderline0_.NumberOfItems*orderline0_.ItemPrice) as x0_0_ from tblOrderLine orderline0_
Ja, natuurlijk, het moet x0_0_ zijn, maar hoe komt ie nu bij die x1_0_.
Een bugje in NHibernate ?
[ Voor 17% gewijzigd door whoami op 07-03-2006 21:00 ]
https://fgheysels.github.io/