Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json Odata:查询参数'$计数';不支持_Json_Kendo Ui_Odata - Fatal编程技术网

Json 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

服务器:使用标准VS 2015生成器生成的Odata控制器

// 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