次の方法で共有


EntityDataSource.Include プロパティ

定義

クエリ結果に関連オブジェクトを含めることを指定する式を取得または設定します。

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 値を返します。 この場合、関連オブジェクトの値を表示するには、明示的に読み込む必要があります。 詳しくは、「関連オブジェクトの読み込み」をご覧ください。

適用対象