带过滤器的OData删除
我有一个问题,我们的后端使用OData“like”处理器,它有一些特殊的功能。它的方向是OData_2.0 因此,问题是: 对于以下此类请求,最类似OData的方法是什么 我们的后端数据模型没有单属性键。但如果可能的话,建议使用类似OData的产品 第一:我需要通过一个OData请求删除几个对象。我的第一个想法是使用过滤器来定义应该删除哪些对象。但我不确定这是否是正确的方法 例如:我想删除所有价格大于10.00的项目带过滤器的OData删除,odata,Odata,我有一个问题,我们的后端使用OData“like”处理器,它有一些特殊的功能。它的方向是OData_2.0 因此,问题是: 对于以下此类请求,最类似OData的方法是什么 我们的后端数据模型没有单属性键。但如果可能的话,建议使用类似OData的产品 第一:我需要通过一个OData请求删除几个对象。我的第一个想法是使用过滤器来定义应该删除哪些对象。但我不确定这是否是正确的方法 例如:我想删除所有价格大于10.00的项目 http://.../<oDataServiceX>/Item?$
http://.../<oDataServiceX>/Item?$filter=ItemPrice gt 10.00
http://...//Item?$filter=ItemPrice gt 10.00
第二:当我想删除一个单键属性无法识别的对象时。如何在经典的OData删除请求语法中定义它
下面的小田是什么样的
http://.../<oDataServiceX>/Item(1,54,2) //3 Attributes which define the key for the Item
http://...//Item(1,54,2)//3个定义项的键的属性
或者我应该再做一次过滤?(如果过滤器是正确的方法)
http://...//Item?$filter=keyAttr1等式1和keyAttr2等式54以及keyAttr 3等式2
您不能在一个OData查询中删除多个条目,您需要首先检索它们的密钥,然后发送多个删除请求。有两种方法可以改进此过程:
希望这有帮助。ODataV4支持DELETE/entity格式(key1=''、key2='')等等 但是,对于ODataV2,一个选项是使用请求主体传递一些数据。删除/实体,主体中包含数据。 该文件规定,公约将按键删除实体。然而,当我们必须通过多个键删除ODataV2服务时,我们采用了这种方法。此外,在使用ODataV2库实现此功能时,我们必须添加路由约定以支持无键删除
http://.../<oDataServiceX>/Item?$filter=keyAttr1 eq 1 and keyAttr2 eq 54 and keyAttr 3 eq 2