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à . Viene inoltre creata dinamicamente una classe 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 viene restituita una nuova classe 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 RevenueThousandsSalesRegion .
Usare la new funzione nella Select proprietà in base alle condizioni elencate nella tabella seguente.
| Selezionare | Uso di nuovi | Esempio |
|---|---|---|
| Singola proprietà. |
new non necessario. |
Select="Category" |
| Più proprietà. |
new Necessario. |
Select="new(Category, Name)" |
| Proprietà singole o multiple con un 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 AutoGenerateRowsAutoGenerateColumns proprietà o 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 LinqDataSourcee Procedura: Raggruppare e aggregare dati tramite 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 eseguire l'iterazione sulla 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 questo non è obbligatorio.