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

Definição

Especifica os objetos relacionados para inclusão nos resultados da 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 pontos de objetos relacionados para serem retornados nos resultados da consulta.

Retornos

Um novo ObjectQuery<T> com o caminho da consulta definido.

Exceções

path é null.

path é empty.

Exemplos

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

Comentários

Os caminhos de consulta podem ser usados com consultas Entity SQL e LINQ.

Os caminhos são inclusivos. Por exemplo, se uma chamada de inclusão indicar Include("Orders.OrderLines"), não só será OrderLines incluído, mas também Orders. Para obter mais informações, consulte Carregar objetos relacionados.

Quando você chama o Include método , o caminho da consulta só é válido na instância retornada do ObjectQuery<T>. Outras instâncias de ObjectQuery<T> e o próprio contexto de objeto não são afetados.

Como o Include método retorna o objeto de consulta, você pode chamar esse método várias vezes em um ObjectQuery<T> para especificar vários caminhos para a consulta, como no exemplo a seguir:

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

Aplica-se a

Confira também