Json Odata:查询参数'$计数';不支持
服务器:使用标准VS 2015生成器生成的Odata控制器Json Odata:查询参数'$计数';不支持,json,kendo-ui,odata,Json,Kendo Ui,Odata,服务器:使用标准VS 2015生成器生成的Odata控制器 // GET: odata/MyEntities [EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All)] public IQueryable<Models.Odata. MyEntity> GetMyEntities() { return db.MyEntities; } 请求: http://localhost:44444/odata/MyEntiti
// GET: odata/MyEntities
[EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All)]
public IQueryable<Models.Odata. MyEntity> GetMyEntities()
{
return db.MyEntities;
}
请求:
http://localhost:44444/odata/MyEntities?$format=json
-返回预期值,
但是
http://localhost:44444/odata/MyEntities?$format=json&$count=true
-产生错误:
{
"odata.error":{
"code":"","message":{
"lang":"en-US","value":"The query parameter '$count' is not supported."
}
}
}
我在AppStart中使用了标准设置。这是什么?OData版本3有一个名为
$inlinecount
的查询选项,而不是$count
。您似乎将查询选项与版本4中的/$count
路径段和$count
查询选项混淆了
请求集合中实体的总数以及实体本身:
GET http://localhost:44444/odata/MyEntities?$format=json&$inlinecount=allpages
仅请求实体集合的计数:
GET http://localhost:44444/odata/MyEntities/$count?$format=json
请参阅第10.2.3.6节和第10.2.5节。尝试在控制器中使用Microsoft.AspNet.OData命名空间而不是System.Web.Http.OData 为什么答案是正确的$count不带true会产生相同的结果它传递的数据服务版本是什么?DataServiceVersion3.0使用Odatav4生成器重新生成控制器,重新安装软件包,检查版本=4,并且可以正常工作。谢谢!令人惊叹的!很高兴您能够升级到v4。顺便说一句,JSON是v4中的默认有线格式,因此您不再需要
$format=JSON
查询选项。
GET http://localhost:44444/odata/MyEntities/$count?$format=json