2010-10-15 76 views
2

我试图去耦在queryover呼叫排序依据,这不会编译NHibernate的QueryOver排序依据

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

我猜是有办法做到这一点,不知何故将在ASC进入linq表达式? 感谢您的帮助!

回答

3

这IQueryOver不是如何工作...使编译它,你必须做到以下几点:

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

这没有什么意义,因为它只是一个OrderBy一个愚蠢的包装。

+1

谢谢。这太可怕了:@即使你明白它是如何工作的,它也是没有意义的,不知道是谁想到了这个设计:@有时候我讨厌NH – 2012-03-15 05:00:16