LinqDataSource.Select Propriedade

Definição

Obtém ou define as propriedades e valores calculados que estão incluídos nos dados recuperados.

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 de Propriedade

Uma cadeia que é usada para criar a cláusula Select.

Exemplos

O exemplo seguinte mostra como definir a Select propriedade para um subconjunto de propriedades no objeto de dados.

<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Select="new(Name, Category, Price)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Select="new(Name, Category, Price)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

O exemplo seguinte mostra como recuperar valores numa propriedade que foi usada para agrupar dados e obter a média dos registos agrupados. A Key palavra-chave contém a propriedade que tem sido usada para agrupar dados. Neste exemplo, Key conterá os valores partilhados da ProductCategory propriedade.

<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    GroupBy="Category"
    Select="new(Key as ProductCategory, 
            Average(Price) as AvePrice)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    GroupBy="Category"
    Select="new(Key as ProductCategory, 
            Average(Price) as AvePrice)"
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    AllowPaging="true"
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

Observações

Se não definir a Select propriedade, o LinqDataSource controlo recupera todas as propriedades (colunas de dados) do objeto de dados. Utiliza-se a Select propriedade para recuperar um subconjunto de propriedades do objeto ou para calcular novos valores quando os dados estão a ser recuperados.

Especifica quais as propriedades a recuperar definindo Select os nomes das propriedades que quer incluir nos dados devolvidos.

Se recuperares um subconjunto de propriedades do objeto de dados, o LinqDataSource controlo cria dinamicamente uma classe que contém apenas as propriedades que especificas na Select propriedade. Uma classe também é criada dinamicamente se calcular propriedades que não são propriedades do objeto de dados. Nestes casos, o objeto devolvido da consulta não é uma instância da classe especificada na TableName propriedade. Em vez disso, deve usar o new método na Select propriedade para indicar que uma nova classe é devolvida da consulta. Por exemplo, para devolver apenas as FirstName propriedades e LastName de um objeto que contenha mais do que essas propriedades, defina a Select propriedade para new(FirstName, LastName). O LinqDataSource controlo irá criar dinamicamente a nova classe que especificaste no new método.

Pode usar a As palavra-chave para atribuir um alias a um valor selecionado. Se atribuir um alias, deve incluir as propriedades aliasadas no new método. Qualquer controlo ligado a dados que se vincule aos resultados do LinqDataSource controlo deve referir-se à propriedade pelo alias. Por exemplo, se definir a Select propriedade para new(Region As SalesRegion, Revenue / 1000 As RevenueThousands), o controlo data-bound pode aceder a duas propriedades, SalesRegion e RevenueThousands.

Utiliza-se a new função na Select propriedade de acordo com as condições listadas na tabela seguinte.

Selecionar Utilização de novo Example
Propriedade única. new Não é necessário. Select="Category"
Múltiplas propriedades. new precisava. Select="new(Category, Name)"
Propriedades únicas ou múltiplas que têm um pseudónimo. new precisava. Select="new(Category As CategoryGroup)"

Se quiser ativar modificações automáticas de dados, mas não quiser mostrar todas as propriedades do objeto de dados, não defina essa Select propriedade. Em vez disso, gere o ecrã através do controlo ligado a dados. Quando usa o DetailsView controlo ou o GridView controlo, também deve definir a AutoGenerateRows ou a AutoGenerateColumns propriedade para false. Quaisquer valores que não sejam exibidos no controlo ligado a dados são armazenados no estado de visualização. São transmitidos inalterados para a fonte de dados quando a atualização de dados é realizada.

Quando agrupa os dados na consulta, pode incluir métodos agregados na Select propriedade. Pode usar os seguintes métodos agregados:

  • Count()

  • Average( Coluna)

  • Sum( Coluna)

  • Max( Coluna)

  • Min( Coluna)

  • Where( condição)

  • Any()

  • All( condição)

Para mais informações, consulte a Visão Geral do Controlo do Servidor Web do LinqDataSource e Como: Agrupar e Agregar Dados Usando o Controlo LinqDataSource.

Quando agrupa dados, pode incluir Key e It, que são propriedades criadas dinamicamente, na Select propriedade. A Key propriedade refere-se aos valores na propriedade ou propriedades que foram usados para agrupar os dados. Por exemplo, se agrupar por uma propriedade chamada Category, a Key propriedade conterá cada valor único na Category propriedade. A It propriedade refere-se a uma coleção de registos individuais num agrupamento de dados. Pode iterar sobre a It propriedade para recuperar os registos individuais que foram consolidados na operação de agrupamento. Por exemplo, se agrupar por uma propriedade chamada Category, a It propriedade contém todos os registos individuais que partilham um valor comum na Category propriedade.

Se incluir a It palavra-chave na Select propriedade ao agrupar dados, deve atribuir um alias à It palavra-chave. O LinqDataSource controlo lança uma exceção se It não tiver um alias. Pode atribuir um alias à Key palavra-chave, mas isso não é obrigatório.

Aplica-se a