-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V4.0_CSD01
-
Fix Version/s: V4.0_CSD02
-
Component/s: CSDL XML
-
Labels:None
-
Environment:
[Applied]
-
Proposal:
-
Resolution:
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.