ObjectQuery<T>.Include(String) ObjectQuery<T>.Include(String) ObjectQuery<T>.Include(String) ObjectQuery<T>.Include(String) Method

Definición

Especifica los objetos relacionados que se van a incluir en los resultados de la consulta.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)

Parámetros

path
String String String String

Lista separada por puntos de los objetos relacionados que se deben devolver en los resultados de la consulta.Dot-separated list of related objects to return in the query results.

Devoluciones

Un nuevo objeto ObjectQuery<T> con la ruta de acceso a la consulta definida.A new ObjectQuery<T> with the defined query path.

Excepciones

Ejemplos

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

Comentarios

Las rutas de la consulta se pueden usar con consultas Entity SQL y LINQ.Query paths can be used with Entity SQL and LINQ queries.

Las rutas son exhaustivas.Paths are all-inclusive. Por ejemplo, si una llamada de inclusión indica Include("Orders.OrderLines"), no sólo le OrderLines incluirán, sino también Orders.For example, if an include call indicates Include("Orders.OrderLines"), not only will OrderLines be included, but also Orders. Para obtener más información, consulte cargar objetos relacionados.For more information, see Loading Related Objects.

Cuando se llama al método Include, la ruta de la consulta solo es válida en la instancia devuelta de ObjectQuery<T>.When you call the Include method, the query path is only valid on the returned instance of the ObjectQuery<T>. Otras instancias de ObjectQuery<T> y el contexto del objeto en sí no se ven afectados.Other instances of ObjectQuery<T> and the object context itself are not affected.

Dado que el método Include devuelve el objeto de consulta, puede llamar varias veces a este método en una ObjectQuery<T> para especificar varias rutas para la consulta, como en el ejemplo siguiente: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")

Se aplica a

Consulte también: