ObjectQuery<T>.Include(String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 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");