Reconsider placement and semantics of OnDelete element

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major
    • V4.0_CSD02
    • Affects Version/s: V4.0_CSD01
    • Component/s: CSDL XML
    • None
    • Environment:

      [Applied]

      Currently the OnDelete element is on the dependent side and specifies "what happens here if over there the last thing goes away", i.e. an observer/event subscription pattern. This may have been inspired by SQL's ON DELETE, which is also specified on the dependent side.

      The "original" OnDelete element of OData V2/V3 seems to be specified on the principal side of the association, unfortunately not explicitly stated, only deducible from the only given example:

      <Association Name="CProductCategory">
      <End Type="Self.CProduct" Multiplicity="*" />
      <End Type="Self.CCategory" Multiplicity="0..1">
      <OnDelete Action="Cascade" />
      </End>
      </Association>

      If the category goes away, it notifies its products to also go away.

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

              Created:
              Updated:
              Resolved: