如何获取过滤后的 OData 结果的计数?

How can I get the count of filtered OData results?

我正在尝试获取 Fiori SAPUI5 应用程序中过滤后的 OData 结果的计数。我可以使用 Postman 中的 $count$inlinecount 获得 correct 计数: MyEntitySet/$count?$filter=Id eq '9'MyEntitySet?$filter=Id eq '9'&$inlinecount=allpages&$format=json.

但是,当我尝试在我的 UI5 代码中使用这些查询参数时,我没有得到我想要的结果。

myV2ODataModel.read("/MyEntitySet/$count?$filter=Id eq '9'", {/*...*/});

给我未过滤结果的计数,而

myV2ODataModel.read("/MyEntitySet?$filter=Id eq '9'&$inlinecount=allpages", {/*...*/});

给我所有的记录,我无法访问内联计数。

检查 myV2ODataModel.read 的记录 API 参考:https://sdk.openui5.org/api/sap.ui.model.odata.v2.ODataModel#methods/read

所以应该是:

// Filter required from "sap/ui/model/Filter"
myV2ODataModel.read("/MyEntitySet/$count", {
  // ...,
  filters: [
    new Filter(/*...*/), 
  ],
});