ObjectQuery<T>.Include(String) Method

Definition

Gibt die verknüpften Objekte an, die in die Abfrageergebnisse eingeschlossen werden sollen.Specifies the related objects to include in the query results.

public:
 System::Data::Objects::ObjectQuery<T> ^ Include(System::String ^ path);
public System.Data.Objects.ObjectQuery<T> Include (string path);
member this.Include : string -> System.Data.Objects.ObjectQuery<'T>
Public Function Include (path As String) As ObjectQuery(Of T)

Parameters

path
String

Durch Punkte getrennte Liste verbundener Objekte, die in den Abfrageergebnissen zurückgegeben werden sollen.Dot-separated list of related objects to return in the query results.

Returns

ObjectQuery<T>

Eine neue ObjectQuery<T> mit dem definierten Abfragepfad.A new ObjectQuery<T> with the defined query path.

Exceptions

path ist null.path is null.

path ist empty.path is empty.

Examples

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    // Define an object query with a path that returns
    // orders and items for a specific contact.
    Contact contact =
        context.Contacts.Include("SalesOrderHeaders.SalesOrderDetails")
        .FirstOrDefault();

    // Execute the query and display information for each item
    // in the orders that belong to the first contact.
    foreach (SalesOrderHeader order in contact
        .SalesOrderHeaders)
    {
        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.SalesOrderDetails)
        {
            Console.WriteLine(String.Format("Product: {0} "
                + "Quantity: {1}", item.ProductID.ToString(),
                item.OrderQty.ToString()));
        }
    }
}
Using context As New AdventureWorksEntities()
    ' Define an object query with a path that returns 
    ' orders and items for a specific contact. 
    Dim contact As Contact = context.Contacts.Include("SalesOrderHeaders.SalesOrderDetails").FirstOrDefault()

    ' Execute the query and display information for each item 
    ' in the orders that belong to the first contact. 
    For Each order As SalesOrderHeader In contact.SalesOrderHeaders
        Console.WriteLine(String.Format("PO Number: {0}", order.PurchaseOrderNumber))
        Console.WriteLine(String.Format("Order Date: {0}", order.OrderDate.ToString()))
        Console.WriteLine("Order items:")
        For Each item As SalesOrderDetail In order.SalesOrderDetails
            Console.WriteLine(String.Format("Product: {0} Quantity: {1}", _
                                              item.ProductID.ToString(), item.OrderQty.ToString()))
        Next
    Next
End Using

Remarks

Abfragepfade können mit Entity SQL- und LINQ-Abfragen verwendet werden.Query paths can be used with Entity SQL and LINQ queries.

Pfade sind allumfassend.Paths are all-inclusive. Wenn z. b. ein Include-Befehl Include("Orders.OrderLines")angibt, wird nicht nur OrderLines eingeschlossen, sondern auch Orders.For example, if an include call indicates Include("Orders.OrderLines"), not only will OrderLines be included, but also Orders. Weitere Informationen finden Sie unter Laden verwandter Objekte.For more information, see Loading Related Objects.

Beim Aufruf der Include-Methode ist der Abfragepfad nur für die zurückgegebene Instanz der ObjectQuery<T> gültig.When you call the Include method, the query path is only valid on the returned instance of the ObjectQuery<T>. Andere Instanzen von ObjectQuery<T> und der Objektkontext selbst werden nicht beeinflusst.Other instances of ObjectQuery<T> and the object context itself are not affected.

Da die Include-Methode das Abfrageobjekt zurückgibt, kann diese Methode mehrmals für eine ObjectQuery<T> aufgerufen werden, um, wie im folgenden Beispiel, mehrere Pfade für die Abfrage anzugeben:Because the Include method returns the query object, you can call this method multiple times on an ObjectQuery<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.
ObjectQuery<SalesOrderHeader> query =
    context.SalesOrderHeaders.Include("SalesOrderDetails").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. 
Dim query As ObjectQuery(Of SalesOrderHeader) = context.SalesOrderHeaders.Include("SalesOrderDetails").Include("Address")

Applies to

See also