如何读取多个记录的OData关联

时间:2016-12-05 09:47:52

标签: javascript odata sapui5 northwind

我们以Northwind odata服务为例。要获得供应商'1'的所有产品,我将使用以下URL,而在SAPUI5中,它等于:oModel.read("/Suppliers(1)/Products");

但是,如果我有10个不同的供应商,并希望获得属于这些供应商的所有产品,该怎么办?这样做的正确方法是什么?我应该在oModel.read("/Suppliers(X)/Products");处循环,其中X是供应商编号吗?或者我应该在Products实体集上使用过滤器吗?

1 个答案:

答案 0 :(得分:1)

您可以过滤供应商并使用$ expand查询属性将相应的产品包含在结果中。此URL将返回ID小于5的供应商及其产品。由于供应商可能拥有大量产品,因此最好以相反的方式进行,过滤产品并扩展相应的供应商。此URL将返回ID和供应商ID小于5的产品。在实际情况中,您将应用不同的过滤器,但这个想法应该是明确的。