mvc4在检索json时添加where子句

时间:2013-10-31 11:57:56

标签: c# asp.net-mvc json asp.net-mvc-4

我想从我的控制器检索json到我的模型

控制器将对数据库中的数据进行检索,然后将其传输到json

我试过这个

    return this.Json(
              new
              {
                  Result = (from obj in db.Parkings select new { ID = obj.ID, Name = obj.note })
              }
              , JsonRequestBehavior.AllowGet
           );

效果很好。

现在我想编辑它以便为回溯操作添加where

我的意思是:

我不想要检索所有的停车位,但我想要检索buildingID等于1的停车位

我试过谷歌,但我无法解决我自己的解决方案

2 个答案:

答案 0 :(得分:4)

只需在dbset之后添加where方法即可。如下:

return this.Json(
          new
          {
              Result = (from obj in db.Parkings
                                      .Where(p => p.BuildingId == myBuildingId)
                        select new
                        {
                            ID = obj.ID,
                            Name = obj.note
                        })
          }
          , JsonRequestBehavior.AllowGet
       );

您还可以使用以下语法:

    (from obj in db.Parkings 
          where obj.BuildingId == myBuildingId
          select new { ID = obj.ID, Name = obj.note })
          }
          , JsonRequestBehavior.AllowGet
       );  

我建议您查看101 LINQ Samples并查看LinqPad中用于练习的类似lambda语法。

答案 1 :(得分:0)

Result = Parkings.Where(x=> x.buildingID == 1).Select(new { ID = obj.ID, Name = obj.note });