Freigeben über


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

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

Beispiele

Das folgende Beispiel zeigt, wie die Select -Eigenschaft auf eine Teilmenge der Eigenschaften im Datenobjekt festgelegt wird.

<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 und zum Abrufen des Durchschnitts für die gruppierten Datensätze verwendet wurde. Das Key Schlüsselwort enthält die Eigenschaft, die zum Gruppieren von Daten verwendet wurde. In diesem Beispiel Key enthält die freigegebenen Werte aus der ProductCategory -Eigenschaft.

<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 von der Abfrage 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 von der Abfrage zurückgegeben wird. Um beispielsweise nur die FirstName Eigenschaften und LastName aus einem Objekt zurückzugeben, das mehr als diese Eigenschaften enthält, legen Sie die Select -Eigenschaft auf fest 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 Aliaseigenschaften in die new -Methode einschließen. Jedes datengebundene Steuerelement, das an die Ergebnisse des LinqDataSource Steuerelements gebunden ist, muss durch den Alias auf die -Eigenschaft verweisen. Wenn Sie beispielsweise die Select -Eigenschaft auf new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)festlegen, kann das datengebundene Steuerelement auf zwei Eigenschaften SalesRegionRevenueThousandsund zugreifen.

Sie verwenden die new -Funktion in der Select -Eigenschaft gemäß den in der folgenden Tabelle aufgeführten Bedingungen.

Auswählen Verwendung von new Beispiel
Einzelne Eigenschaft. new nicht erforderlich. Select="Category"
Mehrere Eigenschaften. new Benötigt. Select="new(Category, Name)"
Einzelne oder mehrere Eigenschaften, die über einen Alias verfügen. 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 -Eigenschaft oder die AutoGenerateColumns -Eigenschaft auf falsefestlegen. Alle Werte, die nicht im datengebundenen Steuerelement 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 Aggregatmethoden in die Select -Eigenschaft einschließen. Sie können die folgenden Aggregatmethoden verwenden:

  • Count()

  • Average(Spalte)

  • Sum(Spalte)

  • Max(Spalte)

  • Min(Spalte)

  • Where(condition)

  • Any()

  • All(condition)

Weitere Informationen finden Sie unter Übersicht über linqDataSource-Webserversteuerelemente und Vorgehensweise: Gruppieren und Aggregieren von Daten mithilfe des LinqDataSource-Steuerelements.

Wenn Sie Daten gruppieren, können Sie und It, die dynamisch erstellte Eigenschaften sind, in die Select -Eigenschaft einschließenKey. Die Key -Eigenschaft bezieht sich auf die Werte in der Eigenschaft oder den Eigenschaften, die zum Gruppieren der Daten verwendet wurden. Wenn Sie beispielsweise nach einer Eigenschaft mit dem Namen Categorygruppieren, 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 verwenden.

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: