Freigeben über


ObjectQuery<T>.Include(String) Methode

Definition

Gibt die verknüpften Objekte an, die in die Abfrageergebnisse einbezogen werden sollen.

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)

Parameter

path
String

Punkttrennte Liste verwandter Objekte, die in den Abfrageergebnissen zurückgegeben werden sollen.

Gibt zurück

Ein Neues ObjectQuery<T> mit dem definierten Abfragepfad.

Ausnahmen

path ist null.

path ist empty.

Beispiele

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()));
        }
    }
}

Hinweise

Abfragepfade können mit Entity SQL- und LINQ-Abfragen verwendet werden.

Pfade sind alle inklusiven. Wenn beispielsweise ein Include-Aufruf angibt Include("Orders.OrderLines"), wird OrderLines nicht nur eingeschlossen, sondern auch Orders. Weitere Informationen finden Sie unter Laden verwandter Objekte.

Wenn Sie die Include Methode aufrufen, ist der Abfragepfad nur für die zurückgegebene Instanz der ObjectQuery<T>. Andere Instanzen und ObjectQuery<T> der Objektkontext selbst sind nicht betroffen.

Da die Include Methode das Abfrageobjekt zurückgibt, können Sie diese Methode mehrmals aufrufen ObjectQuery<T> , um mehrere Pfade für die Abfrage anzugeben, wie im folgenden Beispiel gezeigt:

// 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");

Gilt für:

Weitere Informationen