-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major
-
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.