2010-04-06 70 views
1

我使用動態linq來從MVC處理泛型JqGrid的泛型類都工作正常(搜索,分頁等),除了在代碼屬性上排序。當我打的DB對數據進行排序,但只要是我做了排序不起作用的屬性排序工作正常,如從動態linq訂購按屬性

public partial class tblStockOrder 
{ 
    public string approved 
    { 
     get 
     { 
      return approved_id == null ? "" : "Approved"; 
     } 
    } 
} 

我運行下面的動態Linq的

 items = items 
      .OrderBy(string.Format("{0} {1}", sidx, sord)) 
      .Skip(pageIndex * pageSize) 
      .Take(pageSize); 

其中sidx等是由jquery傳入的字符串。

所以基本上什麼是最好的解決辦法來處理一些情況下,一些屬性將從數據庫而其他將是代碼屬性(不知道正確的命名)。我可以使用反射來處理代碼中的所有內容,但顯然會像數據庫一樣處理儘可能多的搜索/排序操作,而無需拉動數千條記錄並使用反射在代碼中進行排序。

回答

0

計算類當然不起作用,因爲您正在嘗試創建記錄,它是內存的一部分,是數據庫的一部分。

你可以,但是,通過指定的LINQ查詢的功能,例如計算數據庫相同的:(!X => x.approved_id = NULL) 項目=項目 .OrderBy .Skip(PageIndex的* pageSize的) 。Take(pageSize);