EntityDataSource.Include Propriedade

Definição

Obtém ou define a expressão que especifica os objetos relacionados a incluir 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 de Propriedade

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

Exemplos

A marcação XML seguinte define um caminho de consulta que devolve SalesOrderHeader objetos relacionados com o objeto devolvido Contact . Com cada SalesOrderHeader, os objetos relacionados SalesOrderDetail e Address também são devolvidos.

<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 anterior de XML é o mesmo que o seguinte ObjectQuery<T> , nomeado customers:

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

Observações

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

A cadeia fornecida à Include propriedade usa o mesmo formato da cadeia que é passada ao Include método de ObjectQuery<T>. Para exemplos de como usar caminhos de consulta para carregar automaticamente objetos relacionados, veja Como: Usar Caminhos de Consulta para Moldar Resultados.

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

Aplica-se a