Allow arbitrary properties in referential constraints

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major
    • V4.01_WD01
    • Affects Version/s: V4.0_CS02
    • Component/s: CSDL XML
    • Environment:

      Complex Types, [Proposed]

    • Hide

      For non-4.0 clients, allow path expressions resolving to complex properties and navigation properties for the Property and ReferencedProperty attributes

      Services must not advertise constraints terminating in a property of a complex type or a single-valued navigation prop to clients specifying OData-MaxVersion:4.0. They can instead expand the leafs. For nav props to single entities, they can expand to the key field(s).

      Show
      For non-4.0 clients, allow path expressions resolving to complex properties and navigation properties for the Property and ReferencedProperty attributes Services must not advertise constraints terminating in a property of a complex type or a single-valued navigation prop to clients specifying OData-MaxVersion:4.0. They can instead expand the leafs. For nav props to single entities, they can expand to the key field(s).
    • Show
      https://www.oasis-open.org/apps/org/workgroup/odata/download.php/59031/odata-csdl-xml-v4.01-wd01.docx

      Referential constraints are currently limited to primitive properties, potentially nested within complex properties, which requires e.g. to "resolve" referential constraints between complex properties or single-valued navigation properties into one <ReferentialConstraint> element per primitive property of the complex property, and key property of the related entity type.

      An obvious generalization is to also allow complex properties, meaning that each member property has the same value, and as a consequence single-valued navigation properties, meaning that the dependent navigation property has the same target as the principal navigation property. This is just a short-hand notation for adding referential constraints on all leaf structural / key properties.

            Assignee:
            handl
            Reporter:
            handl
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: