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írgula de caminhos da 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 SalesOrderHeader, os objetos e Address relacionados SalesOrderDetail 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írgulas na cadeia de caracteres é passado, sem modificação, como uma chamada separada para o Include método de um ObjectQuery<T> executado pelo Entity Framework. Essa consulta é a origem dos dados regulamentados pelo EntityDataSource controle . A Include propriedade é o argumento aplicado ao ObjectQuery<T> antes de ser executada.

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

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 Carregar objetos relacionados.

Aplica-se a