ObjectQuery<T>.Include(String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje související objekty, které mají být zahrnuty do výsledků dotazu.
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)
Parametry
- path
- String
Dot-separated list of related objects to return in the query results.
Návraty
Nový ObjectQuery<T> s definovanou cestou dotazu.
Výjimky
path je null.
path je empty.
Příklady
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()));
}
}
}
Poznámky
Cesty dotazů lze použít s dotazy Entity SQL a LINQ.
Cesty jsou all-inclusive. Pokud například volání include označuje Include("Orders.OrderLines"), bude zahrnuta nejen OrderLines , ale i Orders. Další informace naleznete v tématu Načítání souvisejících objektů.
Při volání Include metody je cesta dotazu platná pouze pro vrácenou ObjectQuery<T>instanci . Jiné instance ObjectQuery<T> a samotný kontext objektu nejsou ovlivněny.
Vzhledem k tomu, že Include metoda vrací objekt dotazu, můžete tuto metodu volat vícekrát za ObjectQuery<T> účelem určení více cest pro dotaz, jako v následujícím příkladu:
// 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");