← Prev in month ← Prev in thread
Next in thread → Next in month →

[OASIS Issue Tracker] Created: (ODATA-392) Expanded Navigation Properties should be implicitly added to $select

From
OASIS Issues Tracker <>
Date
2013-05-15T23:20:53+00:00
ID
1421522101.10721368660043702.JavaMail.tomcat55@mw00
Thread
[OASIS Issue Tracker] Created: (ODATA-392) Expanded Navigation Properties should be implicitly added to $select
Expanded Navigation Properties should be implicitly added to $select
--------------------------------------------------------------------

                 Key: ODATA-392
                 URL: http://tools.oasis-open.org/issues/browse/ODATA-392
             Project: OASIS Open Data Protocol (OData) TC
          Issue Type: Improvement
          Components: OData URL Conventions 
    Affects Versions: V4.0_CSD01
         Environment: [Proposed]
            Reporter: Michael Pizzo
            Priority: Minor
             Fix For: V4.0_CSD02


We had a long discussion in Boston over whether $expanded navigation properties were implicitly added to a $select.

The argument against doing this was that it was more correct and simpler to keep the two separate; $expand is part of defining the extent of the result, and $select is used to say which properties are returned. Implicitly adding the expanded navigation properties to the $select would mean a serializer would have to look both in $select and $expand to figure out which properties to put on the wire.

The argument for implicitly adding $expanded properties to $select was that it wasn't meaningful to do a $expand if you weren't going to return the expanded property, so why require the client to add it to the $select?

As strong as the first argument is, we have empirical evidence that customers *do* get tripped up today by having to add the $expanded navigation properties to $select. OData needs to be simple and predictable, so though I like the cleanliness of keeping them separate I propose we follow the principle of least astonishment by making the expanded navigation properties implicit in the $select.

Note that this means the metadata url has to specify selected or expanded properties, and can't just copy the $select, but we already moved away from just using the $select in the metadataurl in order to handle selects on expanded properties w/o going back to path notation.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
← Prev in month ← Prev in thread
Next in thread → Next in month →