Odata 通过$filter请求单个实体
我正在调用一个绑定函数。当我通过其键请求实体时,它工作正常:Odata 通过$filter请求单个实体,odata,Odata,我正在调用一个绑定函数。当我通过其键请求实体时,它工作正常: /MyEntity(1)/MyFunction 但是,我必须通过MyField请求实体,它是唯一的,但不是键: /MyEntity?$filter=MyField eq 1 在这种情况下调用函数的语法是什么?仅将“/MyFunction”添加到末尾不起作用: /MyEntity?$filter=MyField eq 1/MyFunction 这并不奇怪,因为$filter实际上返回的不是实体,而是一个实体的集合。我想,基本上我需
/MyEntity(1)/MyFunction
但是,我必须通过MyField请求实体,它是唯一的,但不是键:
/MyEntity?$filter=MyField eq 1
在这种情况下调用函数的语法是什么?仅将“/MyFunction”添加到末尾不起作用:
/MyEntity?$filter=MyField eq 1/MyFunction
这并不奇怪,因为$filter实际上返回的不是实体,而是一个实体的集合。我想,基本上我需要的是从有效载荷中获取第一个实体
我已经看了一遍,但找不到答案,似乎我遗漏了一些明显的东西。据我所知,这是不可能的。您可以分两步完成此操作:$filter ing时选择ID,然后在第二个请求中使用获取的ID来执行该函数。@GWigWam好吧,这是显而易见的方法。问题是-除了键之外,是否可以通过任何唯一属性请求实体。
/MyEntity/MyFunction(MyField=1)
是否足够?这是可能的,您只需在动作签名中添加一个参数。(假设您控制OData服务)@GWigWam,是的,这是另一个解决方法。@GWigWam它不会,我知道如何向函数添加参数。我的问题只涉及OData语法。据我所知,这是不可能的。您可以分两步完成此操作:$filter ing时选择ID,然后在第二个请求中使用获取的ID来执行该函数。@GWigWam好吧,这是显而易见的方法。问题是-除了键之外,是否可以通过任何唯一属性请求实体。/MyEntity/MyFunction(MyField=1)
是否足够?这是可能的,您只需在动作签名中添加一个参数。(假设您控制OData服务)@GWigWam,是的,这是另一个解决方法。@GWigWam它不会,我知道如何向函数添加参数。我的问题只涉及OData语法。