LinqDataSource.Select Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define as propriedades e os valores calculados 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 da propriedade
Uma cadeia de caracteres usada para criar a cláusula Select.
Exemplos
O exemplo a seguir mostra como definir a Select propriedade como 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 a seguir mostra como recuperar valores em uma propriedade que foi usada para agrupar dados e recuperar a média dos registros agrupados. A Key palavra-chave contém a propriedade que foi usada para agrupar dados. Neste exemplo, Key conterá os valores compartilhados 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>
Comentários
Se você não definir a Select propriedade, o LinqDataSource controle recuperará todas as propriedades (colunas de dados) do objeto de dados. Você usa a Select propriedade para recuperar um subconjunto de propriedades do objeto ou para calcular novos valores quando os dados estão sendo recuperados.
Especifique quais propriedades recuperar definindo a Select propriedade para os nomes das propriedades que deseja incluir nos dados retornados.
Se você recuperar um subconjunto de propriedades do objeto de dados, o LinqDataSource controle criará dinamicamente uma classe que contém apenas as propriedades especificadas na Select propriedade. Uma classe também será criada dinamicamente se você calcular propriedades que não são propriedades no objeto de dados. Nesses casos, o objeto retornado da consulta não é uma instância da classe especificada na TableName propriedade. Em vez disso, você deve usar o new método na Select propriedade para indicar que uma nova classe é retornada da consulta. Por exemplo, para retornar somente as propriedades e propriedades FirstName de um objeto que contém mais do que essas propriedades, defina a Select propriedade como new(FirstName, LastName).LastName O LinqDataSource controle criará dinamicamente a nova classe especificada no new método.
Você pode usar a As palavra-chave para atribuir um alias a um valor selecionado. Se você atribuir um alias, deverá incluir as propriedades aliased no new método. Qualquer controle associado a dados que se associe aos resultados do LinqDataSource controle deve se referir à propriedade pelo alias. Por exemplo, se você definir a Select propriedade como new(Region As SalesRegion, Revenue / 1000 As RevenueThousands), o controle associado a dados poderá acessar duas propriedades SalesRegion e RevenueThousands.
Use a new função na Select propriedade de acordo com as condições listadas na tabela a seguir.
| Selecionar | Uso de novo | Exemplo |
|---|---|---|
| Propriedade única. |
new não é necessário. |
Select="Category" |
| Várias propriedades. |
new Necessário. |
Select="new(Category, Name)" |
| Propriedades simples ou múltiplas que têm um alias. |
new Necessário. |
Select="new(Category As CategoryGroup)" |
Se você quiser habilitar modificações automáticas de dados, mas não quiser exibir todas as propriedades do objeto de dados, não defina a Select propriedade. Em vez disso, gerencie a exibição por meio do controle associado a dados. Ao usar o DetailsView controle ou o GridView controle, você também deve definir a AutoGenerateRows propriedade falsecomo AutoGenerateColumns . Todos os valores que não são exibidos no controle associado a dados são armazenados no estado de exibição. Eles são passados inalterados para a fonte de dados quando a atualização de dados é executada.
Ao agrupar dados na consulta, você pode incluir métodos de agregação na Select propriedade. Você pode usar os seguintes métodos de agregação:
Count()Average(Coluna)Sum(Coluna)Max(Coluna)Min(Coluna)Where(condição)Any()All(condição)
Para obter mais informações, consulte a Visão geral do controle do servidor Web LinqDataSource e como agrupar e agregar dados usando o controle LinqDataSource.
Ao agrupar dados, você 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 usadas para agrupar os dados. Por exemplo, se você agrupar por uma propriedade nomeada Category, a Key propriedade conterá cada valor exclusivo na Category propriedade. A It propriedade refere-se a uma coleção de registros individuais em um agrupamento de dados. Você pode iterar sobre a It propriedade para recuperar os registros individuais que foram consolidados na operação de agrupamento. Por exemplo, se você agrupar por uma propriedade nomeada Category, a It propriedade conterá todos os registros individuais que compartilham um valor comum na Category propriedade.
Se você incluir a It palavra-chave na Select propriedade ao agrupar dados, deverá atribuir um alias à It palavra-chave. O LinqDataSource controle gerará uma exceção se It não tiver um alias. Você pode atribuir um alias à Key palavra-chave, mas isso não é necessário.