LinqDataSource.Select Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta le proprietà e i valori calcolati inclusi nei dati recuperati.
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
Valore della proprietà
Stringa utilizzata per creare la clausola Select.
Esempio
Nell'esempio seguente viene illustrato come impostare la Select proprietà su un subset di proprietà nell'oggetto dati.
<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>
Nell'esempio seguente viene illustrato come recuperare i valori in una proprietà utilizzata per raggruppare i dati e recuperare la media per i record raggruppati. La Key
parola chiave contiene la proprietà utilizzata per il raggruppamento dei dati. In questo esempio Key
conterrà i valori condivisi della ProductCategory
proprietà .
<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>
Commenti
Se non si imposta la Select proprietà , il LinqDataSource controllo recupera tutte le proprietà (colonne di dati) dall'oggetto dati. Utilizzare la Select proprietà per recuperare un subset di proprietà dall'oggetto o per calcolare nuovi valori quando i dati vengono recuperati.
Specificare le proprietà da recuperare impostando la Select proprietà sui nomi delle proprietà da includere nei dati restituiti.
Se si recupera un subset di proprietà dall'oggetto dati, il LinqDataSource controllo crea dinamicamente una classe che contiene solo le proprietà specificate nella Select proprietà . Una classe viene creata in modo dinamico anche se si calcolano proprietà che non sono proprietà nell'oggetto dati. In questi casi, l'oggetto restituito dalla query non è un'istanza della classe specificata nella TableName proprietà . È invece necessario utilizzare il new
metodo nella Select proprietà per indicare che una nuova classe viene restituita dalla query. Ad esempio, per restituire solo le FirstName
proprietà e LastName
da un oggetto che contiene più di queste proprietà, impostare la Select proprietà su new(FirstName, LastName)
. Il LinqDataSource controllo creerà dinamicamente la nuova classe specificata nel new
metodo .
È possibile usare la As
parola chiave per assegnare un alias a un valore selezionato. Se si assegna un alias, è necessario includere le proprietà con alias nel new
metodo . Qualsiasi controllo associato a dati che esegue l'associazione ai risultati del LinqDataSource controllo deve fare riferimento alla proprietà dall'alias. Ad esempio, se si imposta la Select proprietà su new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)
, il controllo associato a dati può accedere a due proprietà e RevenueThousands
SalesRegion
.
Usare la new
funzione nella Select proprietà in base alle condizioni elencate nella tabella seguente.
Select | Uso di un nuovo | Esempio |
---|---|---|
Proprietà singola. | new non necessario. |
Select="Category" |
Più proprietà. | new Necessario. |
Select="new(Category, Name)" |
Proprietà singole o multiple con alias. | new Necessario. |
Select="new(Category As CategoryGroup)" |
Se si desidera abilitare le modifiche automatiche dei dati, ma non si desidera visualizzare tutte le proprietà dell'oggetto dati, non impostare la Select proprietà . Gestire invece la visualizzazione tramite il controllo associato a dati. Quando si utilizza il DetailsView controllo o il GridView controllo , è necessario impostare anche la AutoGenerateRows proprietà o AutoGenerateColumns su false
. Tutti i valori non visualizzati nel controllo associato a dati vengono archiviati nello stato di visualizzazione. Vengono passati invariati all'origine dati quando viene eseguito l'aggiornamento dei dati.
Quando si raggruppano i dati nella query, è possibile includere metodi di aggregazione nella Select proprietà . È possibile usare i metodi di aggregazione seguenti:
Count()
Average(
Colonna)
Sum(
Colonna)
Max(
Colonna)
Min(
Colonna)
Where(
Condizione)
Any()
All(
Condizione)
Per altre informazioni, vedere Cenni preliminari sul controllo server Web LinqDataSource e Procedura: Raggruppare e aggregare dati usando il controllo LinqDataSource.
Quando si raggruppano i dati, è possibile includere Key
e It
, che sono proprietà create dinamicamente, nella Select proprietà . La Key
proprietà fa riferimento ai valori nella proprietà o nelle proprietà utilizzate per raggruppare i dati. Ad esempio, se si raggruppa in base a una proprietà denominata Category
, la Key
proprietà conterrà ogni valore univoco nella Category
proprietà . La It
proprietà fa riferimento a una raccolta di singoli record in un raggruppamento di dati. È possibile scorrere la It
proprietà per recuperare i singoli record consolidati nell'operazione di raggruppamento. Ad esempio, se si raggruppa in base a una proprietà denominata Category
, la It
proprietà contiene tutti i singoli record che condividono un valore comune nella Category
proprietà .
Se si include la It
parola chiave nella Select proprietà quando si raggruppano i dati, è necessario assegnare un alias alla It
parola chiave . Il LinqDataSource controllo genererà un'eccezione se It
non ha un alias. È possibile assegnare un alias alla Key
parola chiave , ma non è obbligatorio.
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per