Compartilhar via


EntityDataSource.Include Propriedade

Definição

Obtém ou define a expressão que especifica os objetos relacionados a serem incluídos nos resultados da consulta.

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

Valor da propriedade

Lista separada por vírgulas de caminhos de consulta a serem retornados nos resultados da consulta.

Exemplos

A marcação XML a seguir define um caminho de consulta que retorna SalesOrderHeader objetos relacionados ao objeto retornado Contact . Com cada SalesOrderHeaderum, os objetos SalesOrderDetail relacionados Address também são retornados.

<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>

O exemplo XML anterior é o mesmo que o seguinte ObjectQuery<T> chamado customers:

ObjectQuery<Contact> customers =
      context.Contact
       .Where("it.ContactID = @ContactID",
         new ObjectParameter("ContactID", customerId))
        .Include("SalesOrderHeader.SalesOrderDetail")
        .Include("SalesOrderHeader.Address");

Comentários

A Include propriedade do EntityDataSource controle especifica uma lista separada por vírgulas de caminhos de consulta que definem os objetos que são retornados junto com o objeto especificamente consultado. Cada valor separado por vírgula na cadeia de caracteres é passado, sem modificação, como uma chamada separada para o Include método de um ObjectQuery<T> que é executado pelo Entity Framework. Essa consulta é a fonte dos dados regulamentados pelo EntityDataSource controle. A Include propriedade é o argumento aplicado ao ObjectQuery<T> antes de ser executado.

A cadeia de caracteres fornecida para a Include propriedade usa o mesmo formato que a cadeia de caracteres que é passada para o Include método de ObjectQuery<T>. Para obter exemplos de como usar caminhos de consulta para carregar objetos relacionados automaticamente, consulte Como usar caminhos de consulta para os resultados da forma.

Quando a Include propriedade é usada para especificar caminhos de consulta, as propriedades das entidades relacionadas só podem ser usadas para associação de dados somente leitura. Se os objetos relacionados não estiverem explicitamente incluídos no caminho da consulta, os descritores de propriedade ainda estarão disponíveis para associação de dados, mas as próprias propriedades retornarão valores nulos. Nesse caso, os objetos relacionados devem ser carregados explicitamente para exibir seus valores. Para obter mais informações, consulte Carregando objetos relacionados.

Aplica-se a