Odata:不支持查询参数“$count”
Odata: The query parameter '$count' is not supported
服务器:使用标准 VS 2015 生成器生成的 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
- returns 期待什么,
但是
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
。看来您将查询选项与 /$count
路径段和版本 4.
中的 $count
查询选项混淆了
请求集合中实体的总数以及实体本身:
GET http://localhost:44444/odata/MyEntities?$format=json&$inlinecount=allpages
仅请求实体集合的计数:
GET http://localhost:44444/odata/MyEntities/$count?$format=json
参见 OData Version 3.0 Core Protocol,第 10.2.3.6 和 10.2.5 节。
尝试在控制器中使用 Microsoft.AspNet.OData 命名空间而不是 System.Web.Http.OData。
服务器:使用标准 VS 2015 生成器生成的 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
- returns 期待什么,
但是
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
。看来您将查询选项与 /$count
路径段和版本 4.
$count
查询选项混淆了
请求集合中实体的总数以及实体本身:
GET http://localhost:44444/odata/MyEntities?$format=json&$inlinecount=allpages
仅请求实体集合的计数:
GET http://localhost:44444/odata/MyEntities/$count?$format=json
参见 OData Version 3.0 Core Protocol,第 10.2.3.6 和 10.2.5 节。
尝试在控制器中使用 Microsoft.AspNet.OData 命名空间而不是 System.Web.Http.OData。