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é se mají zahrnout 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
Tečkovaný seznam souvisejících objektů, které se mají vrátit ve výsledcích dotazu.
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ů je možné použít s dotazy Entity SQL a LINQ.
Cesty jsou all-inclusive. Pokud například volání zahrnutí označuje Include("Orders.OrderLines")
, zahrne OrderLines
se nejen , ale také Orders
. Další informace najdete v tématu Načítání souvisejících objektů.
Při volání Include metody je cesta k dotazu platná pouze pro vrácenou instanci objektu ObjectQuery<T>. Jiné instance objektu a samotný kontext objektu ObjectQuery<T> nejsou ovlivněny.
Vzhledem k tomu, že Include metoda vrací objekt dotazu, můžete tuto metodu zavolat vícekrát na objektu ObjectQuery<T> a určit tak 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");