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