Partager via


ObjectQuery<T>.Include(String) Méthode

Définition

Spécifie les objets connexes à inclure dans les résultats de la requête.

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)

Paramètres

path
String

Liste d'objets connexes, séparés par des points, à retourner dans les résultats de la requête.

Retours

Nouvel objet ObjectQuery<T> avec le chemin d’accès de requête défini.

Exceptions

path a la valeur null.

path a la valeur empty.

Exemples

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

Remarques

Les chemins d’accès de requête peuvent être utilisés avec les requêtes Entity SQL et LINQ.

Les chemins d’accès sont entièrement inclusifs. Par exemple, si un appel d’inclusion indique Include("Orders.OrderLines"), non seulement sera OrderLines inclus, mais également Orders. Pour plus d’informations, consultez Chargement d’objets connexes.

Lorsque vous appelez la méthode Include, le chemin d'accès de la requête est valide uniquement sur l'instance retournée de l'objet ObjectQuery<T>. Les autres instances de ObjectQuery<T> et le contexte d'objet lui-même ne sont pas affectés.

Étant donné que la méthode Include retourne l'objet de requête, vous pouvez appeler cette méthode à plusieurs reprises sur un objet ObjectQuery<T> afin de spécifier plusieurs chemins d'accès pour la requête, comme dans l'exemple suivant :

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

S’applique à

Voir aussi