다음을 통해 공유


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를 사용하면 관련 SalesOrderDetailAddress 개체도 반환됩니다.

<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에서 실행되는 의 ObjectQuery<T> 메서드에 대한 Include 별도의 호출로 수정 없이 전달됩니다. 이 쿼리는 컨트롤에 의해 규제되는 데이터의 원본입니다 EntityDataSource . 속성은 Include 실행되기 전에 에 ObjectQuery<T> 적용된 인수입니다.

속성에 Include 제공된 문자열은 의 메서드ObjectQuery<T>에 전달되는 문자열과 동일한 형식을 Include 사용합니다. 쿼리 경로를 사용하여 관련 개체를 자동으로 로드하는 방법의 예는 방법: 셰이프 결과에 쿼리 경로 사용을 참조하세요.

속성이 Include 쿼리 경로를 지정하는 데 사용되는 경우 관련 엔터티의 속성은 읽기 전용 데이터 바인딩에만 사용할 수 있습니다. 관련 개체가 쿼리 경로에 명시적으로 포함되지 않은 경우 속성 설명자는 여전히 데이터 바인딩에 사용할 수 있지만 속성 자체는 null 값을 반환합니다. 이 경우 해당 값을 표시하려면 관련 개체를 명시적으로 로드해야 합니다. 자세한 내용은 관련 개체 로드를 참조하세요.

적용 대상