首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Odata:不支持查询参数'$count‘

Odata:不支持查询参数'$count‘
EN

Stack Overflow用户
提问于 2016-04-05 14:45:18
回答 2查看 5.2K关注 0票数 1

服务器:使用标准vs2015生成器生成的Odata控制器。

代码语言:javascript
复制
// GET: odata/MyEntities
[EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All)]
public IQueryable<Models.Odata. MyEntity> GetMyEntities()
{
  return db.MyEntities;
}

客户端: KendoUI

代码语言:javascript
复制
var ds = new kendo.data.HierarchicalDataSource({
  type: "odata-v4",
  transport: {
    read: {
      url: "odata/EndPoints",
      dataType: "json"
    }
  },
  schema: {
            model: {
                id: "Id",
            }
        }
  });

请求:

http://localhost:44444/odata/MyEntities?$format=json -返回预期的内容,但是

http://localhost:44444/odata/MyEntities?$format=json&$count=true -产生错误:

代码语言:javascript
复制
{
  "odata.error":{
    "code":"","message":{
      "lang":"en-US","value":"The query parameter '$count' is not supported."
    }
  }
}

我在AppStart中使用了标准设置。那是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-05 17:42:20

OData版本3有一个查询选项,名为$inlinecount,而不是$count。您似乎混淆了/$count路径段和版本4中的$count查询选项。

请求集合中实体的总数,以及实体本身:

代码语言:javascript
复制
GET http://localhost:44444/odata/MyEntities?$format=json&$inlinecount=allpages

只请求实体集合的计数:

代码语言:javascript
复制
GET http://localhost:44444/odata/MyEntities/$count?$format=json

OData 3.0版核心协议,10.2.3.6和10.2.5节。

票数 1
EN

Stack Overflow用户

发布于 2019-10-15 07:46:11

尝试在控制器中使用Microsoft.AspNet.OData命名空间而不是System.Web.Http.OData。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36429666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档