Views
Modeling Navigation Properties
By default, the provider models Navigation Properties as separate views. The views are named in the format ParentTable_NavigationProperty.
Querying Navigation Properties
For an example of working with a navigation property as a view, consider the GWSAMPLE_BASIC service. The SalesOrder entity has the ToLineItems navigation property. The CData ADO.NET Provider for SAP Gateway will display a view called SalesOrders_ToLineItems. Retrieving data from SalesOrders_ToLineItems will display the SalesOrderLineItems objects associated with a given SalesOrder. The SalesOrders_ToLineItems view has a primary key made up of the Id of the parent entity and the Id of the related entity.
Note that the GWSAMPLE_BASIC sample service also contains foreign keys directly on each entity, such as a SalesOrderID directly on the SalesOrderLineItems table. In this case, the same effect can be achieved by simply retrieving data from the SalesOrderLineItems table directly. However, it is not a requirement in OData to have these foreign keys, nor is it a guarantee that each navigation property will be exposed individually as their own table. Since there is no way of knowing beforehand what might be exposed on its own endpoint, the CData ADO.NET Provider for SAP Gateway will display both the view and the table. In general, it is best to use Tables when available, and views only when necessary (ie: not table is displayed, or no foreign keys can be used to identify relationships).