ObjectQuery<T>.Include(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica gli oggetti correlati da includere nei risultati della query.
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)
Parametri
- path
- String
Elenco di oggetti correlati separato da punti da restituire nei risultati della query.
Restituisce
Nuovo oggetto ObjectQuery<T> con il percorso della query definito.
Eccezioni
path
è null
.
path
è empty
.
Esempio
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()));
}
}
}
Commenti
I percorsi della query possono essere utilizzati con le query Entity SQL e LINQ.
I percorsi sono inclusivi. Ad esempio, se una chiamata di inclusione indica Include("Orders.OrderLines")
, non solo verrà OrderLines
incluso, ma anche Orders
. Per altre informazioni, vedere Caricamento di oggetti correlati.
Quando si chiama il metodo Include, il percorso della query è valido solo nell'istanza restituita dell'oggetto ObjectQuery<T>. Le altre istanze di ObjectQuery<T> e il contesto dell'oggetto stesso non sono interessati.
Poiché il metodo Include restituisce l'oggetto query, è possibile chiamare questo metodo più volte su un oggetto ObjectQuery<T> per specificare più percorsi per la query, come nell'esempio seguente:
// 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");