EntityDataSource.Include プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クエリ結果に関連オブジェクトを含めることを指定する式を取得または設定します。
public:
property System::String ^ Include { System::String ^ get(); void set(System::String ^ value); };
public string Include { get; set; }
member this.Include : string with get, set
Public Property Include As String
プロパティ値
クエリの結果で返すクエリ パスをコンマで区切った一覧。
例
次の XML マークアップは、返されるContact
オブジェクトに関連するオブジェクトをSalesOrderHeader
返すクエリ パスを定義します。 では、 SalesOrderHeader
関連 SalesOrderDetail
オブジェクトと Address
オブジェクトも返されます。
<asp:EntityDataSource ID="ContactDataSource" runat="server"
AutoGenerateWhereClause="True" ConnectionString="name=AdventureWorksEntities"
DefaultContainerName="AdventureWorksEntities" EnableDelete="True"
EnableInsert="True" EnableUpdate="True" EntitySetName="Contact"
Include="SalesOrderHeader.SalesOrderDetail, SalesOrderHeader.Address">
<WhereParameters>
<asp:ControlParameter ControlID="customerId" Name="ContactID"
PropertyName="Text" />
</WhereParameters>
</asp:EntityDataSource>
前の XML の例は、 という名前customers
の次ObjectQuery<T>の例と同じです。
ObjectQuery<Contact> customers =
context.Contact
.Where("it.ContactID = @ContactID",
new ObjectParameter("ContactID", customerId))
.Include("SalesOrderHeader.SalesOrderDetail")
.Include("SalesOrderHeader.Address");
注釈
コントロールの EntityDataSource プロパティはInclude、クエリ パスのコンマ区切りのリストを指定します。このリストは、クエリ対象のオブジェクトと共に返されるオブジェクトを定義します。 文字列内のコンマ区切りの各値は、Entity Framework によって実行される の メソッドの Include 個別の ObjectQuery<T> 呼び出しとして、変更なしで渡されます。 このクエリは、コントロールによって規制されるデータの EntityDataSource ソースです。 プロパティは Include 、実行前に に ObjectQuery<T> 適用される引数です。
プロパティに指定された文字列は、 の メソッドObjectQuery<T>にInclude渡される文字列と同じ形式をInclude使用します。 クエリ パスを使用して関連オブジェクトを自動的に読み込む方法の例については、「 方法: クエリ パスを使用して結果を整形する」を参照してください。
プロパティを Include 使用してクエリ パスを指定する場合、関連エンティティのプロパティは読み取り専用データ バインディングにのみ使用できます。 関連オブジェクトがクエリ パスに明示的に含まれていない場合、プロパティ記述子は引き続きデータ バインディングに使用できますが、プロパティ自体は null 値を返します。 この場合、関連オブジェクトの値を表示するには、明示的に読み込む必要があります。 詳しくは、「関連オブジェクトの読み込み」をご覧ください。
適用対象
.NET