ObjectQuery<T>.Include(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает связанные объекты для включения в результаты запроса.
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)
Параметры
- path
- String
Разделенный точками список связанных объектов, возвращаемых в результатах запроса.
Возвращаемое значение
Новый ObjectQuery<T> с определенным путем запроса.
Исключения
path равно null.
path равно empty.
Примеры
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()));
}
}
}
Комментарии
Пути запроса можно использовать с запросами Entity SQL и LINQ.
Пути являются все включающими. Например, если указан Include("Orders.OrderLines")вызов включения, не только будет OrderLines включен, но и Orders. Дополнительные сведения см. в разделе "Загрузка связанных объектов".
При вызове Include метода путь запроса действителен только для возвращаемого экземпляра ObjectQuery<T>объекта. Другие экземпляры ObjectQuery<T> и сам контекст объекта не затрагиваются.
Include Так как метод возвращает объект запроса, этот метод можно вызывать несколько раз для ObjectQuery<T> указания нескольких путей для запроса, как показано в следующем примере:
// 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");