ObjectQuery<T>.Include(String) Metod

Definition

Anger de relaterade objekt som ska inkluderas i frågeresultatet.

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)

Parametrar

path
String

Punktavgränsad lista över relaterade objekt som ska returneras i frågeresultatet.

Returer

En ny ObjectQuery<T> med den definierade frågesökvägen.

Undantag

path är null.

path är empty.

Exempel

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

Kommentarer

Frågesökvägar kan användas med entitets-SQL- och LINQ-frågor.

Sökvägar är allomfattande. Om till exempel ett include-anrop anger Include("Orders.OrderLines")kommer inte bara att OrderLines inkluderas, utan även Orders. För mer information, se Läsa in relaterade objekt.

När du anropar Include metoden är frågesökvägen endast giltig på den returnerade instansen ObjectQuery<T>av . Andra instanser av ObjectQuery<T> och själva objektkontexten påverkas inte.

Include Eftersom metoden returnerar frågeobjektet kan du anropa den här metoden flera gånger på en ObjectQuery<T> för att ange flera sökvägar för frågan, som i följande exempel:

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

Gäller för

Se även