odata - combining $expand and $select
After going through a lot of time on this, I finally got the answer. We can nest select
within expand
using ;
as a separator, something like
odata/Products(8)?$expand=choices($select=col1,col2;$expand=item($select=name))
This is documented in the OData v4 $expand
documentation. The documentation also lists other useful examples such as
Categories?$expand=Products($filter=DiscontinuedDate eq null)
Categories?$expand=Products/$count($search=blue)
in the select, you can use the entity/attribute to select specific attributes of expanded entities:
$select=productItemChoices/columnyouwant
I'm not sure about the relationships of the entities in your query. When expanding deeply, I have used the following syntax (without the parentheses) - In the following, I'm assuming that the Products relate to productItemChoices and productItemChoices have item
$expand=productItemChoices, productItemChoices/item
Then, to select
$select=productItemChoices/productItemChoicesGuid, productItemChoices/item/name
Obviously, if the relationships are different, you'll need to change it some