Condividi tramite


ObjectQuery<T>.Include(String) Metodo

Definizione

Specifica gli oggetti correlati da includere nei risultati della query.

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)

Parametri

path
String

Elenco di oggetti correlati separato da punti da restituire nei risultati della query.

Restituisce

Nuovo oggetto ObjectQuery<T> con il percorso della query definito.

Eccezioni

path è null.

path è empty.

Esempio

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

Commenti

I percorsi della query possono essere utilizzati con le query Entity SQL e LINQ.

I percorsi sono inclusivi. Ad esempio, se una chiamata di inclusione indica Include("Orders.OrderLines"), non solo verrà OrderLines incluso, ma anche Orders. Per altre informazioni, vedere Caricamento di oggetti correlati.

Quando si chiama il metodo Include, il percorso della query è valido solo nell'istanza restituita dell'oggetto ObjectQuery<T>. Le altre istanze di ObjectQuery<T> e il contesto dell'oggetto stesso non sono interessati.

Poiché il metodo Include restituisce l'oggetto query, è possibile chiamare questo metodo più volte su un oggetto ObjectQuery<T> per specificare più percorsi per la query, come nell'esempio seguente:

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

Si applica a

Vedi anche