Querying using property navigation is a convenient syntax for accessing data from related entities.
Consider these familiar scenarios:
In DevForce you might write:
In each case, we want information (OrderDetails, Customers) related to a single entity (Order). The desired information exists somewhere in the entity’s object graph – the network of other entities that are related to it. Property navigation helps us traverse the network to reach related entities.
The third example shows how you can chain navigation properties together. The statement anOrder.Customer.Orders navigates from a particular Order up to its parent Customer and then down to all of the parent Customer's other Orders. We call this "walking the object graph".
There are two kinds of navigation property: