J'ai un problème avec NHibernate que je ne semble pas être en mesure de trouver un moyen simple.NHibernate Aggregate Sous-requête
J'ai la base de données suivante:
Jeu: ID, Score, Match_ID
Match: ID
Un match se compose de 3 jeux.
Je veux savoir ce que le score maximum de match est donc l'instruction SQL suivante ferait l'affaire:
select max(a.total) from
(select Match.ID, sum(Game.Score) as total
from Game inner join Match
on Game.Match_ID = Match.ID
group by Match.ID) a
En NHibernate, cela semble être un peu plus compliqué. Apparemment, HQL n'autorise pas les sous-requêtes dans la clause from, donc je ne peux pas vraiment l'utiliser. Je suis assez sûr que cela peut être fait avec ICriteria, mais je viens juste de commencer à utiliser NH, donc je n'arrive pas à le comprendre. J'ai essentiellement eu à ce qui suit:
Session.CreateCriteria<Game>()
.SetProjection(Projections.ProjectionList()
.Add(Projections.GroupProperty("Match"))
.Add(Projections.Sum("Score"))).List();
Après que je l'ai joué avec divers assortiments de DetachedCriteria, mais semble juste aller en rond.
Merci, le HQL fonctionne un régal. – Carl