2010-07-29 3 views
2

J'essaie d'écrire une requête qui prend un critère et renvoie une projection de compte, c'est ce que j'utilise en ce moment mais c'est vraiment inefficace, pourquoi des idées sur comment je peux le remplacer?Nombre de projections du critère

/// <summary> Each criteria contributes one row </summary> 
    private IProjection AsCount(ICriterion criterion) 
    { 
     if (criterion == null) { 
      return Projections.RowCount(); 
     } else { 
      return Projections.Sum(Projections.Conditional(criterion, 
       Projections.Cast(NHibernateUtil.Int32, Projections.Constant(1)), 
       Projections.Cast(NHibernateUtil.Int32, Projections.Constant(0)))); 
     } 
    } 

Juste pour que vous savez ce que je suis actuellement essaie de faire ici, j'ai une série d'expressions critères et je dois générer une table groupée où les colonnes sont les expressions.

Répondre

0

Je n'ai pas trouvé de meilleure solution que celle-ci mais je ne pense pas que ce soit inefficace comme je l'ai d'abord pensé.

Questions connexes