ObjectQuery<T>.Include(String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 all-inclusive. 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");