Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Odata 通过$filter请求单个实体_Odata - Fatal编程技术网

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语法。