结果集过滤在asp.net mvc 3 linq中

时间:2012-05-04 13:21:25

标签: c# linq

说我有像

这样的控制器的动作
   IList <post> p =db.posts.Include("user").ToList();


        if (Request.Form["searchString"] != null)          
        {
            if ((p!=null) && (p.Any()))

            {
                p =(p.Where(a=>a.area==Request 
                .Form["searchString"]).Tolist();                                
            }
       }           
        if (Request.Form["searchString2"] != null)          
        {              
            if ((p!=null) && (p.Any()))

            {


            p=(p.Where(a=>a.city==Request 
          .Form["searchString2"]).Tolist();                                            
            }
        }  
      return View(p);

首先我得到一个结果集(p)。然后我想通过一些标准来过滤p。它为条件块内的ToList()提供错误。错误:帖子中没有tolist()的定义

3 个答案:

答案 0 :(得分:0)

它将是:

 if ((rs!=null) && (rs.Any()))
     {
     rs = (from posts1 in rs where                   
     posts1.area="Dhaka").ToList() ;                             
     }

只要考虑一下,如果你打电话。ToList()Any它将转到数据库(如果你使用的是ORM)

答案 1 :(得分:0)

var filteredRS=rs.Where(s=>s.area=="Dhaka").ToList();

答案 2 :(得分:0)

您可以直接过滤:

List <student> rs = db.students.Where(student => student.area == "Dhaka").ToList();

或:

List <student> filtered = rs.Where(student => student.area == "Dhaka").ToList();