2010-09-10 7 views
0

Mon domaine:NHibernate: aider à construire une requête qui

class Product 
{ 
    IList<Income> Incomes {get; set;} 
    Category Category {get; set;} 
} 

class Income 
{ 
    Product Product {get; set;} 
    int Quantity {get; set; } 
} 

Je dois interroger des produits qui ont somme de revenus Quantité> 0. J'ai pu le faire avec la requête:

ICriteria criteria = session.CreateCriteria(typeof (Income)) 
       .SetProjection(Projections.GroupProperty("Product")) 
       .Add(Restrictions.Ge(Projections.Sum("Quantity"), 1)); 

Cependant , J'ai besoin de la possibilité de filtrer et de trier les résultats de la recherche par propriétés du produit - c'est là que j'ai eu des problèmes - toujours obtenir des erreurs comme column "p1_.id" must appear in the GROUP BY clause or be used in an aggregate function

Répondre

2

seulement groupes sur l'identifiant du produit

Vous devez regrouper les autres propriétés du produit que vous devez utiliser. (Je sais, ce n'est pas 100% intuitif)

+0

Merci! Je devais presque commencer à généraliser pour cette question) – kilonet

+0

Dommage que je n'ai pas attendu, alors ;-) –

Questions connexes