获取仅包含OData扩展属性计数的方法

11

我有一个使用WebAPI OData 6.0.0的OData服务,支持此类查询:

/Customers?$expand=Projects($count=true)

这将返回一个客户列表,每个客户下面都有所有项目,并且还会给出每个客户的项目数量。
现在我想要的是一个查询,可以获取客户列表,对于每个客户,只返回其项目数量,而不是项目列表。
有没有办法创建这样的查询?
我尝试过。
/Customers?$select=Name,Projects/$count

但是这个不起作用。
1个回答

15
你可以使用$expand$top选项来达到这个目的,它会将Projects作为空集合输出。
/Customers?$select=Name&$expand=Projects($count=true;$top=0)

1
2022年阅读此文的读者们,使用“$top=0”存在已知问题,该问题已在EF6中得到修复。https://github.com/OData/WebApi/issues/2026 - rumblefx0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接