ObjectQuery<T>.Include(String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa powiązane obiekty do uwzględnienia w wynikach zapytania.
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
Rozdzielona kropką lista powiązanych obiektów, które mają być zwracane w wynikach zapytania.
Zwraca
Nowa ObjectQuery<T> z zdefiniowaną ścieżką zapytania.
Wyjątki
path
to null
.
path
to empty
.
Przykłady
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()));
}
}
}
Uwagi
Ścieżki zapytań mogą być używane z zapytaniami ENTITY SQL i LINQ.
Ścieżki są all-inclusive. Jeśli na przykład wywołanie dołączania wskazuje Include("Orders.OrderLines")
, nie tylko zostanie OrderLines
uwzględnione, ale także Orders
. Aby uzyskać więcej informacji, zobacz Ładowanie powiązanych obiektów.
Po wywołaniu Include metody ścieżka zapytania jest prawidłowa tylko w zwróconym wystąpieniu klasy ObjectQuery<T>. Nie ma to wpływu na inne wystąpienia ObjectQuery<T> kontekstu obiektu i samego kontekstu obiektu.
Include Ponieważ metoda zwraca obiekt zapytania, można wywołać tę metodę wiele razy na obiekcie ObjectQuery<T> , aby określić wiele ścieżek dla zapytania, jak w poniższym przykładzie:
// 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");