Partilhar via


Ordenando resultados (EntityDataSource)

Você pode solicitar os resultados no seu EntityDataSource controle usando o OrderBy propriedade. The OrderBy propriedade das EntityDataSource controle é uma seqüência de caracteres que representa um ORDENAR POR expressão de um Entity SQL consulta.Essa seqüência de caracteres é passada, sem modificação, a ObjectQuery<T> que serve sistema autônomo fonte de dados dos EntityDataSource controle. A seqüência de caracteres para o OrderBy propriedade usa o mesmo formato, sistema autônomo a cadeia de caracteres passada para o OrderBy método de ObjectQuery<T>. Para obter exemplos de como usar o ORDENAR POR cláusula nos resultados da consulta de ordem, consulte How to: Sort Data (Entity Framework).

Passando Parâmetros

Como a OrderBy método para o ObjectQuery<T> classe, você pode passar parâmetros para a cláusula ORDER BY na OrderBy propriedade. Você deve definir o OrderByParameters propriedade das EntityDataSource controle para especificar um ParameterCollection para a cláusula ORDER BY da consulta. The OrderByParameters propriedade usa um argumento nomeado para consultar o parâmetro atribuído a OrderBy propriedade.

Se você não definir o OrderByParameterspropriedade, não é feita nenhuma substituição de parâmetros. O nome de parâmetro na cláusula ORDER BY, o prefixo de "@" símbolo, deve ter um nome correspondente ParameterCollection. Valores nulo não são permitidos para parâmetros em um ParameterCollection.

Gerar automaticamente a cláusula ORDER BY

Você pode gerar automaticamente a cláusula ORDER BY, definindo o AutoGenerateOrderByClause propriedade das EntityDataSource o controle para true. O EntityDataSource controle, em seguida, gera automaticamente uma cláusula ORDER BY do parâmetro na ParameterCollection que está atribuído a OrderByParameters propriedade. Isso elimina a necessidade de atribuir explicitamente uma cláusula ORDER BY à OrderBy propriedade. Quando você gerar automaticamente a cláusula ORDER BY do OrderByParameters propriedade, você deve verificar que o Name propriedade do parâmetro na coleção identifica uma única propriedade do item retornado da consulta.

Exemplo

O exemplo a seguir gera a cláusula ORDER BY automaticamente e usa o valor do orderByDropDownList Para conjunto o valor do parâmetro.

<asp:EntityDataSource ID="SalesOrderHeader"  
    ConnectionString="name=AdventureWorksEntities"
    DefaultContainerName="AdventureWorksEntities" EnableDelete="True" 
    EnableInsert="True" EnableUpdate="True" EntitySetName="SalesOrderHeader" 
    Where="it.OnlineOrderFlag = true" AutoGenerateOrderByClause="True">
    <OrderByParameters>
        <asp:ControlParameter Name="OrderByParameter" 
            ControlID="orderByDropDownList" Type="String" />
    </OrderByParameters>
</asp:EntityDataSource>

Consulte também

Conceitos

Configurando o controle EntityDataSource

Filtragem de dados (EntityDataSource)

EntityDataSource Designer

Configurar fonte de dados Assistente (EntitydadosSource controle)

Texto de comando personalizada (EntityDataSource)

Outros recursos

Querying Data as Objects (Entity Framework)