-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V4.01_CSD01
-
Fix Version/s: V4.01_CSD02
-
Component/s: CSDL XML
-
Labels:None
-
Environment:
Applied
-
Proposal:
-
Resolution:
NavigationPropertyBindings are used to identify the set in which members of a navigation property are defined. The target set can be an entity set or an instance of a containment navigation property.
There are cases where it is interesting to specify that members of a navigation property are members of another navigation property that may not necessarily be where they are defined.
For example, if I have a customer with navigation properties "AllOrders", "OpenOrders", and "ClosedOrders", it may be useful to define that members of "OpenOrders" and "ClosedOrders" are all members of the "AllOrders" navigation property, even though they are defined in an "Orders" entity set.
NavigationPropertyBinding has the right syntax and semantics for this, if we relax the constraint that the target of the navigationpropertybinding must terminate on a containment navigation property.
However, this may be mixing semantics of the existing NavigationPropertyBinding, which specifies the set in which an entity is defined, and a constraint that says members of one navigation property must be children of another navigation property, so perhaps we should instead define a NavigationPropertyConstraint that says instances are members of a related navigation property that may or may not be the one in which they are defined...