ObjectQuery<T>.Include(String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie les objets connexes à inclure dans les résultats de la requête.
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)
Paramètres
- path
- String
Liste d'objets connexes, séparés par des points, à retourner dans les résultats de la requête.
Retours
Nouvel objet ObjectQuery<T> avec le chemin d’accès de requête défini.
Exceptions
path
a la valeur null
.
path
a la valeur empty
.
Exemples
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()));
}
}
}
Remarques
Les chemins d’accès de requête peuvent être utilisés avec les requêtes Entity SQL et LINQ.
Les chemins d’accès sont entièrement inclusifs. Par exemple, si un appel d’inclusion indique Include("Orders.OrderLines")
, non seulement sera OrderLines
inclus, mais également Orders
. Pour plus d’informations, consultez Chargement d’objets connexes.
Lorsque vous appelez la méthode Include, le chemin d'accès de la requête est valide uniquement sur l'instance retournée de l'objet ObjectQuery<T>. Les autres instances de ObjectQuery<T> et le contexte d'objet lui-même ne sont pas affectés.
Étant donné que la méthode Include retourne l'objet de requête, vous pouvez appeler cette méthode à plusieurs reprises sur un objet ObjectQuery<T> afin de spécifier plusieurs chemins d'accès pour la requête, comme dans l'exemple suivant :
// 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");