【问题标题】:mvc4 add where clause when retrieve json [closed]mvc4在检索json时添加where子句[关闭]
【发布时间】:2013-10-31 11:57:56
【问题描述】:
我想从我的控制器检索 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 的停车位
我尝试了谷歌,但我无法自行解决解决方案
【问题讨论】:
标签:
c#
asp.net-mvc
json
asp.net-mvc-4
【解决方案1】:
简单地说,在你的 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 语法以进行练习。
【解决方案2】:
Result = Parkings.Where(x=> x.buildingID == 1).Select(new { ID = obj.ID, Name = obj.note });