2010-08-10 118 views
2

我正在用SubSonic 3建立一個MVC 2應用程序 - 我嘗試了許多不同的尋呼方法,並且找不到任何感覺正確的東西。使用SubSonic尋呼

我有一個將被傳遞給這會循環和每個迭代將調用一個強類型的局部視圖查看基本查詢。

 var SOQuestion= (
      from q in repo.All<SOQuestion>() 
      orderby p.DateUpdated descending 
      select p 
      ).Skip(5).Take(10); 

我希望能夠將過濾器添加在適當情況下例如tag = "mvc"和/或user = "me",並在同一時間頁面結果合理。

什麼解決方案簡單而整潔?

回答

3

你會使用where語句,拉撒路描述。

如果您需要動態執行此操作(即您不知道您將提前過濾哪些字段),請查看Dynamic Linq庫。

+0

在動態LINQ的圖書館好點,有斯科特Hanselman的博客一個很好的入門:http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using- the-linq-dynamic-query-library.aspx – Lazarus 2010-08-10 15:49:01

+0

感謝這一點,並同意動態LINQ是要走的路。 在包括獲得計數和計算下一個,最後一個等的尋呼的表示方面 - 有沒有一個整潔的方式來呈現這個? – Gavin 2010-08-10 17:23:55

+0

有一些好的想法,你應該能夠在這裏使用:http://www.c-sharpcorner.com/uploadfile/scottlysle/pagesortmvcincsharp03192009083337am/pagesortmvcincsharp.aspx – 2010-08-10 18:28:35

3

你能做到這一點,如下所示:

var SOQuestion= (
     from q in repo.All<SOQuestion>() 
     where tag =="mvc" && user == "me" 
     orderby p.DateUpdated descending 
     select p 
     ).Skip(5).Take(10);