服务器:使用标准vs2015生成器生成的Odata控制器。
// GET: odata/MyEntities
[EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All)]
public IQueryable<Models.Odata. MyEntity> GetMyEntities()
{
return db.MyEntities;
}客户端: KendoUI
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 -产生错误:
{
"odata.error":{
"code":"","message":{
"lang":"en-US","value":"The query parameter '$count' is not supported."
}
}
}我在AppStart中使用了标准设置。那是什么?
发布于 2016-04-05 17:42:20
OData版本3有一个查询选项,名为$inlinecount,而不是$count。您似乎混淆了/$count路径段和版本4中的$count查询选项。
请求集合中实体的总数,以及实体本身:
GET http://localhost:44444/odata/MyEntities?$format=json&$inlinecount=allpages只请求实体集合的计数:
GET http://localhost:44444/odata/MyEntities/$count?$format=json见OData 3.0版核心协议,10.2.3.6和10.2.5节。
发布于 2019-10-15 07:46:11
尝试在控制器中使用Microsoft.AspNet.OData命名空间而不是System.Web.Http.OData。
https://stackoverflow.com/questions/36429666
复制相似问题