2010-10-15 72 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