ObjectQuery<T>.Include(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クエリ結果に含める関連オブジェクトを指定します。
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 呼び出しで が を示している 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");
適用対象
こちらもご覧ください
.NET