Share via


LinqDataSource.Select Eigenschaft

Definition

Ruft die Eigenschaften und berechneten Werte ab, in den abgerufenen Daten eingeschlossen sind, oder legt diese fest.

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

Eigenschaftswert

String

Eine Zeichenfolge, die zum Erstellen der Select-Klausel verwendet wird.

Beispiele

Das folgende Beispiel zeigt, wie Sie die Select Eigenschaft auf eine Teilmenge von Eigenschaften im Datenobjekt festlegen.

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

Das folgende Beispiel zeigt, wie Werte in einer Eigenschaft abgerufen werden, die zum Gruppieren von Daten verwendet wurde, und zum Abrufen des Mittelwerts für die gruppierten Datensätze. Das Key Schlüsselwort enthält die Eigenschaft, die zum Gruppieren von Daten verwendet wurde. In diesem Beispiel Key werden die freigegebenen Werte aus der ProductCategory Eigenschaft enthalten.

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

Hinweise

Wenn Sie die Select Eigenschaft nicht festlegen, ruft das LinqDataSource Steuerelement alle Eigenschaften (Datenspalten) aus dem Datenobjekt ab. Sie verwenden die Select Eigenschaft, um eine Teilmenge von Eigenschaften aus dem Objekt abzurufen oder neue Werte zu berechnen, wenn die Daten abgerufen werden.

Sie geben an, welche Eigenschaften abgerufen werden sollen, indem Sie die Select Eigenschaft auf die Namen der Eigenschaften festlegen, die Sie in die zurückgegebenen Daten einschließen möchten.

Wenn Sie eine Teilmenge von Eigenschaften aus dem Datenobjekt abrufen, erstellt das LinqDataSource Steuerelement dynamisch eine Klasse, die nur die Eigenschaften enthält, die Sie in der Select Eigenschaft angeben. Eine Klasse wird auch dynamisch erstellt, wenn Sie Eigenschaften berechnen, die keine Eigenschaften im Datenobjekt sind. In diesen Fällen ist das zurückgegebene Objekt keine Instanz der Klasse, die in der TableName Eigenschaft angegeben ist. Stattdessen müssen Sie die new Methode in der Select Eigenschaft verwenden, um anzugeben, dass eine neue Klasse aus der Abfrage zurückgegeben wird. Wenn Sie beispielsweise nur die FirstName LastName Eigenschaften eines Objekts zurückgeben möchten, das mehr als diese Eigenschaften enthält, legen Sie die Select Eigenschaft auf new(FirstName, LastName). Das LinqDataSource Steuerelement erstellt dynamisch die neue Klasse, die Sie in der new Methode angegeben haben.

Sie können das As Schlüsselwort verwenden, um einem ausgewählten Wert einen Alias zuzuweisen. Wenn Sie einen Alias zuweisen, müssen Sie die aliasierten Eigenschaften in die new Methode einschließen. Jedes datengebundene Steuerelement, das an die Ergebnisse des LinqDataSource Steuerelements gebunden ist, muss vom Alias auf die Eigenschaft verweisen. Wenn Sie beispielsweise die Select Eigenschaft auf festlegen, kann das datengebundene Steuerelement auf zwei Eigenschaften zugreifen und SalesRegion RevenueThousands.new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)

Sie verwenden die new Funktion in der Select Eigenschaft entsprechend den in der folgenden Tabelle aufgeführten Bedingungen.

Auswählen Verwendung neuer Beispiel
Einzelne Eigenschaft. new nicht erforderlich. Select="Category"
Mehrere Eigenschaften. new Benötigt. Select="new(Category, Name)"
Einzelne oder mehrere Eigenschaften mit einem Alias. new Benötigt. Select="new(Category As CategoryGroup)"

Wenn Sie automatische Datenänderungen aktivieren möchten, aber nicht alle Eigenschaften aus dem Datenobjekt anzeigen möchten, legen Sie die Select Eigenschaft nicht fest. Verwalten Sie stattdessen die Anzeige über das datengebundene Steuerelement. Wenn Sie das DetailsView Steuerelement oder das GridView Steuerelement verwenden, müssen Sie auch die AutoGenerateRows AutoGenerateColumns Eigenschaft falseauf festlegen. Alle Werte, die im datengebundenen Steuerelement nicht angezeigt werden, werden im Ansichtszustand gespeichert. Sie werden unverändert an die Datenquelle übergeben, wenn die Datenaktualisierung ausgeführt wird.

Wenn Sie Daten in der Abfrage gruppieren, können Sie aggregierte Methoden in die Select Eigenschaft einschließen. Sie können die folgenden Aggregatmethoden verwenden:

  • Count()

  • Average(Spalte )

  • Sum(Spalte )

  • Max(Spalte )

  • Min(Spalte )

  • Where(Zustand )

  • Any()

  • All(Zustand )

Weitere Informationen finden Sie unter LinqDataSource Web Server Control Overview and How to: Group and Aggregate Data Using the LinqDataSource Control.

Wenn Sie Daten gruppieren, können Sie Eigenschaften einschließen und It, die dynamisch erstellt werden, in die Select Eigenschaft aufnehmenKey. Die Key Eigenschaft bezieht sich auf die Werte in der Eigenschaft oder eigenschaften, die zum Gruppieren der Daten verwendet wurden. Wenn Sie beispielsweise nach einer Eigenschaft mit dem Namen gruppieren Category, enthält die Key Eigenschaft jeden eindeutigen Wert in der Category Eigenschaft. Die It Eigenschaft bezieht sich auf eine Auflistung einzelner Datensätze in einer Gruppierung von Daten. Sie können die It Eigenschaft durchlaufen, um die einzelnen Datensätze abzurufen, die im Gruppierungsvorgang konsolidiert wurden. Wenn Sie beispielsweise nach einer Eigenschaft mit dem Namen Categorygruppieren, enthält die It Eigenschaft alle einzelnen Datensätze, die einen gemeinsamen Wert in der Category Eigenschaft teilen.

Wenn Sie das It Schlüsselwort in die Select Eigenschaft einschließen, wenn Sie Daten gruppieren, müssen Sie dem It Schlüsselwort einen Alias zuweisen. Das LinqDataSource Steuerelement löst eine Ausnahme aus, wenn It kein Alias vorhanden ist. Sie können dem Key Schlüsselwort einen Alias zuweisen, dies ist jedoch nicht erforderlich.

Gilt für