【问题标题】:$Expand query in Odata serviceOdata 服务中的 $Expand 查询
【发布时间】:2015-11-29 07:31:44
【问题描述】:

通常的扩展查询允许将实体扩展到多个级别,如下所示:

...A?$expand=B/C/D, G 

但如果 D 也有两个姐妹实体(E 和 F)并且我想在一个查询中将它们全部获取,我该如何获取呢?
所以C需要扩展为(D、E、F)三个实体。

谢谢。

【问题讨论】:

    标签: asp.net api asp.net-web-api odata


    【解决方案1】:

    您可以在 $expand 中嵌入 $expand。例如来自OData Spec:

    http://host/service.svc/Orders?$expand=Items($expand=Product),Customer

    【讨论】:

      【解决方案2】:

      在 OData V4 中,您可以在一个查询中这样写:

      ...A?$expand=B($expand=C($expand=D, E, F)), G
      

      请注意,您必须像这样在 OData 控制器中增加 MaxExpansionDepth:

      [EnableQuery(MaxExpansionDepth = 3)]
      

      希望对你有帮助

      【讨论】:

        【解决方案3】:

        您可以使用“*”通配符。

        ...A?$expand=B/C/*, G

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-07-16
          • 2015-05-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多