2010-08-10 87 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);