Comparteix a través de


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(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

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

Devoluciones

Nuevo ObjectQuery<T> con la ruta de acceso de 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 acceso de consulta se pueden usar con consultas Entity SQL y LINQ.

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

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

Dado que el Include método devuelve el objeto de consulta, puede llamar a este método varias veces en para ObjectQuery<T> especificar varias rutas de acceso 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

Consulte también