OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: [OASIS Issue Tracker] Commented: (ODATA-387) Replace (at least) the second example in Section 13 of the CSDL document (public comment c201305e00002)

    [ http://tools.oasis-open.org/issues/browse/ODATA-387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33445#action_33445 ] 

Michael Pizzo commented on ODATA-387:

We could provide an example that shows BOTH the use of a navigation property binding (for the case where the target is known) and that does not (for the case where the target is not known. Also, we want to clarify that the navigation property binding is used where this information is available, not excluded if it is "implicit".

Possible example text:

In the following example there are separate entity sets for customers and preferred customers, but only one entity set for orders. The entity sets for customers and preferred customers both have navigation property bindings to the orders entity set, but the orders entity set does not have a navigation property binding for the Customer navigation property, since it could come from either set of customers. In this case, the customers returned by traversing the Customer navigation property of an order MUST specify the set for each returned customer.

<EntityContainer Name="Sales" m:isDefaultContainer="True"> 
  <EntitySet Name="Customer" EntityType="Self.Customer"> 
    <NavigationPropertyBinding Path="Orders" EntitySet="Sales.Orders"/> 
  <EntitySet Name="PreferredCustomer" EntityType="Self.Customer"> 
    <NavigationPropertyBinding Path="Orders" EntitySet="Sales.Orders "/> 
   <EntitySet Name="Orders" EntityType="Self.Order"/> 

> Replace (at least) the second example in Section 13 of the CSDL document (public comment c201305e00002)
> -------------------------------------------------------------------------------------------------------
>                 Key: ODATA-387
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-387
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData CSDL
>    Affects Versions: V4.0_CSD01
>            Reporter: Stefan Drees
>            Priority: Minor
>             Fix For: V4.0_CSD02
> The public comment [c201305e00002](https://lists.oasis-open.org/archives/odata-comment/201305/msg00002.html) with title "DiscontinuedProducts is a really bad example'" challenges the second example given in the document revision of CSDL that participates in CSD01 public review as "really bad at best"(citation).
> The example (as copied from the html version of the CSD01 PR document) for "Other entity models may expose multiple entity sets per type. For instance, an entity model may have the following entity sets:" goes like this:
> """
> <EntitySet Name="Products" EntityType="Self.Product"/>
> <EntitySet Name="DiscontinuedProducts" EntityType="Self.Product"/>
> """ 
> The original poster (OP) further states w.r.t the current example, that: "It means a Product instance changes its entity set when it becomes discontinued, and that means any existing relationships to it become illegal.  There are still Order instances that need to refer to it (assuming it was ordered before it was discontinued), but now they can't intuitively refer to it because it doesn't exist in the Products entity set anymore -- it moved to the DiscontinuedProducts entity set.  An Order entity would need to a DiscontinuedProduct navigation property in order to refer to it.
> He then points to an example by Mike Pizzo of exposing a single type across multiple entity sets as provided to the odata.org mailing list [1](http://mailinglist.odata.org/scripts/wa-ODATA.exe?A2=ODATA;bc4700a0.1302).  The commenter thinks, that "Including this example would not only provide a correct example, but it would also demonstrate a situation where the new NavigationPropertyBinding element of EntitySet is required in order to disambiguate the target entity sets of navigation properties."(citation)
> For further details and possibly additional issues raised by the comment cf. [c201305e00002](https://lists.oasis-open.org/archives/odata-comment/201305/msg00002.html)

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


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]