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

Definición

Especifica los objetos relacionados que se van a incluir en los resultados de la consulta.

public System.Data.Objects.ObjectQuery<T> Include (string path);

Parámetros

path
String

Lista separada por puntos de los objetos relacionados que se deben devolver en los resultados de la consulta.

Devoluciones

Nueva ObjectQuery<T> con la ruta de la consulta definida.

Excepciones

path es null.

path es empty.

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

Comentarios

Las rutas de la consulta se pueden usar con consultas Entity SQL y LINQ.

Las rutas son exhaustivas. Por ejemplo, si una llamada de inclusión indica Include("Orders.OrderLines"), no solo OrderLines se incluirá, sino también Orders. Para obtener más información, vea Cargar objetos relacionados.

Cuando se llama al método Include, la ruta de la consulta solo es válida en la instancia devuelta de ObjectQuery<T>. Otras instancias de ObjectQuery<T> y el contexto del objeto en sí no se ven afectados.

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:

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

Se aplica a

Producto Versiones
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Consulte también