LinqDataSource.Select Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 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 false
auf 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 Category
gruppieren, 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.