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] (ODATA-979) Recursive containment navigation properties and Partner attribute


     [ https://issues.oasis-open.org/browse/ODATA-979?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ralf Handl updated ODATA-979:
-----------------------------

    Description: 
An entity cannot be referenced by more than one containment relationship, and cannot both belong to an entity set declared within the entity container and be referenced by a containment relationship. 

Current rules around recursive containment and partner navigation properties seem to be sufficient to achieve this goal. but may not be necessary, i.e. seem overly restrictive.

A counter-example to the current rules can be constructed by redefining a partner navigation property with a more specific type, which is allowed now:

- EntityType Name=FileSystemEntry
  - NavigationProperty Name=Parent Type=this.FileSystemEntry Nullable=true

- EntityType Name=Folder BaseType=this.FileSystemEntry
  - NavigationProperty Name=Children Type=Collection(this.FileSystemEntry) Partner=Parent

- EntityType Name=File BaseType=this.FileSystemEntry
  - NavigationProperty Name=Parent Type=this.Folder Nullable=false

  was:
An entity cannot be referenced by more than one containment relationship, and cannot both belong to an entity set declared within the entity container and be referenced by a containment relationship. 

Current rules around recursive containment and partner navigation properties seem to be sufficient to achieve this goal. but may not be necessary, i.e. seem overly restrictive.

Look for either valid counter-example for current rules or proof of necessity of current rules.


> Recursive containment navigation properties and Partner attribute
> -----------------------------------------------------------------
>
>                 Key: ODATA-979
>                 URL: https://issues.oasis-open.org/browse/ODATA-979
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: OData CSDL
>    Affects Versions: V4.0_ERRATA03
>            Reporter: Ralf Handl
>             Fix For: V4.01_WD01
>
>
> An entity cannot be referenced by more than one containment relationship, and cannot both belong to an entity set declared within the entity container and be referenced by a containment relationship. 
> Current rules around recursive containment and partner navigation properties seem to be sufficient to achieve this goal. but may not be necessary, i.e. seem overly restrictive.
> A counter-example to the current rules can be constructed by redefining a partner navigation property with a more specific type, which is allowed now:
> - EntityType Name=FileSystemEntry
>   - NavigationProperty Name=Parent Type=this.FileSystemEntry Nullable=true
> - EntityType Name=Folder BaseType=this.FileSystemEntry
>   - NavigationProperty Name=Children Type=Collection(this.FileSystemEntry) Partner=Parent
> - EntityType Name=File BaseType=this.FileSystemEntry
>   - NavigationProperty Name=Parent Type=this.Folder Nullable=false



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


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