How to: Navigate Relationships with the Navigate Operator
To run the code in this example
Add the AdventureWorks Sales Model to your project and configure your project to use the Entity Framework. For more information, see How to: Use the Entity Data Model Wizard (Entity Framework).
In the code page for your application, add the following using statements (Imports in Visual Basic):
The following example shows how to navigate relationships in Entity SQL by using the NAVIGATE operator. The Navigate operator takes the following parameters: an instance of an entity, the relationship type, the end of the relationship, and the beginning of the relationship. Optionally, you can pass only an instance of an entity and the relationship type to the Navigate operator.
Using conn As New EntityConnection("name=AdventureWorksEntities") conn.Open() ' Create an EntityCommand. Using cmd As EntityCommand = conn.CreateCommand() ' Create an Entity SQL query. Dim esqlQuery As String = "SELECT address.AddressID, (SELECT VALUE DEREF(soh) FROM " & _ " NAVIGATE(address, AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID) " & _ " AS soh) FROM AdventureWorksEntities.Addresses AS address" cmd.CommandText = esqlQuery ' Execute the command. Using rdr As DbDataReader = cmd.ExecuteReader(CommandBehavior.SequentialAccess) ' Start reading. While rdr.Read() Console.WriteLine(rdr("AddressID")) End While End Using End Using conn.Close() End Using