Compartilhar via


EntityDataSource.Select Propriedade

Definição

Obtém ou define a projeção que define as propriedades a incluir nos resultados da consulta.

public:
 property System::String ^ Select { System::String ^ get(); void set(System::String ^ value); };
public string Select { get; set; }
member this.Select : string with get, set
Public Property Select As String

Valor da propriedade

Os parâmetros que são usados para criar a cláusula ORDER BY.

Exceções

Quando a propriedade Select especifica uma projeção de consulta e o valor de EnableUpdate, EnableDelete ou EnableInsert é true.

Exemplos

A seguinte marcação XML usa a Select propriedade para especificar uma projeção com seis das propriedades do Tipo de produto:

<asp:EntityDataSource ID="ProductDataSource" runat="server"
    ConnectionString="name=AdventureWorksEntities"
    DefaultContainerName="AdventureWorksEntities"
    EntitySetName="Product" OrderBy="it.[ProductID]"
    Select="it.[ProductID], it.[Name], it.[ListPrice],
    it.[Size], it.[Style], it.[Weight]">
</asp:EntityDataSource>

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

ObjectQuery<Product> products = context.Product
    .Select(it.[ProductID], it.[Name], it.[ListPrice],
      it.[Size], it.[Style], it.[Weight])
    .OrderBy("it.[ProductID]");

Comentários

A Select propriedade do EntityDataSource controle contém uma cadeia de caracteres que representa a instrução SELECT de uma consulta Entity SQL. Isso permite projetar um conjunto especificado de propriedades dos objetos retornados pela consulta.

Essa cadeia de caracteres é passada, sem modificação, para o ObjectQuery<T> que é executado pelo Entity Framework. Essa consulta é a origem dos dados regulamentados pelo EntityDataSource controle . A cadeia de caracteres fornecida para a Select propriedade usa o mesmo formato que a cadeia de caracteres passada para o Select método de ObjectQuery<T>. Para obter exemplos de como usar a cláusula SELECT para definir uma projeção para uma consulta, consulte Como executar uma consulta que retorna objetos de tipo anônimo.

Atualizações não têm suporte para dados projetados. Isso significa que, quando você usa a Select propriedade para especificar uma projeção, a associação de dados associada não dá suporte a atualizações.

Ao definir uma projeção com paginação habilitada, você deve definir a propriedade pela qual ordenar os resultados. Isso significa que quando você define a Select propriedade para definir uma projeção e definiu trueAutoPage como , você também deve definir a OrderBy propriedade para definir a ordem ou definir a AutoGenerateOrderByClause propriedade como true e adicionar um parâmetro ORDER BY à OrderByParameters coleção.

Select não poderá ser definido se EnableUpdate, EnableDeleteou EnableInsert estiver habilitado.

Se o Select for definido como uma consulta que retorna uma projeção de propriedades (por exemplo, SELECT p.ProductID, p. Name FROM AdventureWorksEntities.Products AS p), um DbDataRecord será retornado.

Aplica-se a