LinqDataSource.Select Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.