是否可以在不知道OData中的密钥的情况下选择特定实体?

是否可以在不知道OData中的密钥的情况下选择特定实体?,odata,sapui5,Odata,Sapui5,我有一个问题,我需要从一个实体集中的一个特定实体中选择一个特定的值,但是,我需要在不知道键的情况下进行选择 这是我实际需要的查询: odata/..../picklistLabels(locale='en_GB',optionId=10819)/label 但是,我需要以某种方式对其进行编程,以便它在不知道optionId的情况下自动选择标签。在OData中有这样做的方法吗?根据您的问题,我认为您想要执行导航,但您没有钥匙。不幸的是,此确切功能不可用,但是,您可以执行如下扩展: odata/.

我有一个问题,我需要从一个实体集中的一个特定实体中选择一个特定的值,但是,我需要在不知道键的情况下进行选择

这是我实际需要的查询:

odata/..../picklistLabels(locale='en_GB',optionId=10819)/label

但是,我需要以某种方式对其进行编程,以便它在不知道optionId的情况下自动选择标签。在OData中有这样做的方法吗?

根据您的问题,我认为您想要执行导航,但您没有钥匙。不幸的是,此确切功能不可用,但是,您可以执行如下扩展:

odata/..../picklistLabels?$filter=locale eq 'en_GB' and optionId=10819&$expand=label
这将获得与另一个调用相同的信息,但格式略有不同,您必须找到数组中的第一个元素,然后获取label属性以获取该信息


另一方面,如果您可以选择更改服务器(我猜不是因为sapui5标记,但它可能对其他用户有用),那么您可以更改密钥。如果区域设置和optionId足以识别对象,那么可以将它们转换为复合键。以下是WebAPI OData源代码中的一个示例链接:

可能类似于能够执行optionId=*query*这样的完整查询?到目前为止,您有什么经验?您是否尝试应用过滤器?