Partilhar via


EntityDataSource.Select Propriedade

Definição

Obtém ou define a projeção que define as propriedades a serem incluídas 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 usados para criar a cláusula ORDER BY.

Exceções

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

Exemplos

A seguinte marcação XML usa a Select propriedade para especificar uma projeção com seis das propriedades do tipo 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 SQL de entidade. Isso permite projetar um conjunto especificado de propriedades dos objetos retornados pela consulta.

Essa cadeia de caracteres é passada, sem modificação, para a ObjectQuery<T> que é executada pelo Entity Framework. Essa consulta é a fonte dos dados regulamentados pelo EntityDataSource controle. A cadeia de caracteres fornecida para a Select propriedade usa o mesmo formato que a cadeia de caracteres que é 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.

Não há suporte para atualizações 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 a 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 AutoPage definiu como true, você também deve definir a OrderBy propriedade para definir a ordem ou definir a AutoGenerateOrderByClause propriedade true e adicionar um parâmetro ORDER BY à OrderByParameters coleção.

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

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

Aplica-se a