Specifies the related objects to include in the query results.
Namespace:
System.Data.Objects
Assembly:
System.Data.Entity (in System.Data.Entity.dll)
Visual Basic (Declaration)
Public Function Include ( _
path As String _
) As ObjectQuery(Of T)
Dim instance As ObjectQuery
Dim path As String
Dim returnValue As ObjectQuery(Of T)
returnValue = instance.Include(path)
public ObjectQuery<T> Include(
string path
)
public:
ObjectQuery<T>^ Include(
String^ path
)
public function Include(
path : String
) : ObjectQuery<T>
Parameters
- path
- Type: System..::.String
Dot-separated list of related objects to return in the query results.
Query paths can be used with Entity SQL and LINQ queries.
Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will OrderLines be included, but also Orders. For more information, see Shaping Query Results (Entity Framework).
When you call the Include method, the query path is only valid on the returned instance of the ObjectQuery<(Of <(T>)>). Other instances of ObjectQuery<(Of <(T>)>) and the object context itself are not affected.
Because the Include method returns the query object, you can call this method multiple times on an ObjectQuery<(Of <(T>)>) to specify multiple paths for the query, as in the following example:
' Create a SalesOrderHeader query with two query paths,
' one that returns order items and a second that returns the
' billing and shipping addresses for each order.
Dim query As ObjectQuery(Of SalesOrderHeader) = _
context.SalesOrderHeader.Include("SalesOrderDetail").Include("Address")
// Create a SalesOrderHeader query with two query paths,
// one that returns order items and a second that returns the
// billing and shipping addresses for each order.
ObjectQuery<SalesOrderHeader> query =
context.SalesOrderHeader.Include("SalesOrderDetail").Include("Address");
Using context As New AdventureWorksEntities
' Create an object query with a path that returns orders and items for a contact.
Dim contact As Contact = _
context.Contact.Include("SalesOrderHeader.SalesOrderDetail") _
.FirstOrDefault()
Try
' Execute the query and display information for each item
' in the orders that belong to the returned contact.
Dim order As SalesOrderHeader
For Each order In contact.SalesOrderHeader
Console.WriteLine(String.Format("PO Number: {0}", _
order.PurchaseOrderNumber))
Console.WriteLine(String.Format("Order Date: {0}", _
order.OrderDate.ToString()))
Console.WriteLine("Order items:")
Dim item As SalesOrderDetail
For Each item In order.SalesOrderDetail
Console.WriteLine(String.Format("Product:{0}" _
+ "Quantity: {1}", item.ProductID.ToString(), _
item.OrderQty.ToString()))
Next
Next
Catch ex As EntitySqlException
Console.WriteLine(ex.ToString())
Catch ex As EntityCommandExecutionException
Console.WriteLine(ex.ToString())
End Try
End Using
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
// Define an object query with a path that returns
// orders and items for a specific contact.
Contact contact =
context.Contact.Include("SalesOrderHeader.SalesOrderDetail")
.FirstOrDefault();
try
{
// Execute the query and display information for each item
// in the orders that belong to the first contact.
foreach (SalesOrderHeader order in contact
.SalesOrderHeader)
{
Console.WriteLine(String.Format("PO Number: {0}",
order.PurchaseOrderNumber));
Console.WriteLine(String.Format("Order Date: {0}",
order.OrderDate.ToString()));
Console.WriteLine("Order items:");
foreach (SalesOrderDetail item in order.SalesOrderDetail)
{
Console.WriteLine(String.Format("Product: {0} "
+ "Quantity: {1}", item.ProductID.ToString(),
item.OrderQty.ToString()));
}
}
}
catch (EntitySqlException ex)
{
Console.WriteLine(ex.ToString());
}
catch (EntityCommandExecutionException ex)
{
Console.WriteLine(ex.ToString());
}
}
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
.NET Framework
Supported in: 3.5 SP1
Reference
Other Resources