【问题标题】:OData - how to exclude empty items from resultOData - 如何从结果中排除空项目
【发布时间】:2022-09-30 16:32:53
【问题描述】:

我有以下 OData 查询:

http://myApp/odata/Suppliers?$expand=SkillTasks($filter=TaskId eq 14)&$select=Id,Name

我得到所有供应商。如果给定的供应商没有 ID=14 的 SkillTask​​,则包含的 SkillTask​​ 仅具有 Id=14 或为空。

我期望的是:只有具有 ID=14 的 SkillTask​​ 的供应商。如果给定的供应商没有 ID=14 的 SkillTask​​,他/她不应该被退回。

我想我应该在供应商上使用过滤器而不是在 SkillTask​​s 上,但我不知道如何在那里引用 SkillTask

http://myApp/odata/Suppliers?$filter=(SkillTasks.TaskId eq 14)&$expand=SkillTasks&$select=Id,Name

    标签: swagger odata


    【解决方案1】:

    我希望$filter 内的$expand 可以工作,但您可以将$filterany 运算符一起使用。

    http://myApp/odata/Suppliers?$expand=SkillTasks&$filter=SkillTasks/any(r:r/TaskId eq 14)&$select=Id,Name
    

    【讨论】:

      猜你喜欢
      • 2014-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 2018-01-29
      相关资源
      最近更新 更多