2009-12-22 5 views

Répondre

3

avant droite, il ressemble à ceci:

ICriteria query = Session 
    .CreateCriteria<Article>("a") 
    .CreateCriteria("a.Categories", "c") 
    .Add(Expression.Eq("c.ID", categoryId) 

Il y a aussi l'expression IDEQ, mais vous ne pouvez pas dire que id (dont nom d'entité/alias), donc je ne lui fais pas confiance.

ICriteria query = Session 
    .CreateCriteria<Article>("a") 
    .CreateCriteria("a.Categories", "c") 
    .Add(Expression.IdEq(categoryId) // a.ID or c.ID? 

Il y a un problème avec joint aux collections. Vous obtiendrez autant de résultats que la jointure d'article et de catégories produira, ceci pourrait multiplier les articles.

Utilisez le transformateur de résultat ou les sous-requêtes. Voir this post.

Questions connexes