2010-10-15 4 views
2

J'essaie de découpler le orderby sur un appel queryover et cela ne compile pasNhibernate QueryOver Orderby

protected static void AddOrder<T>(IQueryOver<T, T> criteria, Expression<Func<object>> expression) 
{ 
    criteria.OrderBy(expression).Asc; 
} 

Je devine que il y a une façon de le faire, ce qui porte en quelque sorte dans le asc dans le expression linq? Merci pour l'aide!

Répondre

3

Ce n'est pas comment fonctionne IQueryOver ... pour en faire la compilation, vous auriez à faire ce qui suit:

protected static IQueryOver<T, T> AddOrder<T>(IQueryOver<T, T> criteria, 
               Expression<Func<object>> expression) 
{ 
    return criteria.OrderBy(expression).Asc; 
} 

Ce qui n'a guère de sens, car il est juste un emballage stupide pour OrderBy.

+1

Merci. C'est horrible: @ cela n'a aucun sens même quand vous comprenez comment cela fonctionne, je ne sais pas qui a pensé à ce design: @ Parfois, je déteste NH –