LinqDataSource.Select Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia właściwości i wartości obliczeniowe uwzględnione w pobranych danych.
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
Wartość właściwości
Ciąg używany do tworzenia klauzuli Select.
Przykłady
W poniższym przykładzie pokazano, jak ustawić właściwość Select na podzestaw właściwości w obiekcie danych.
<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>
W poniższym przykładzie pokazano, jak pobrać wartości we właściwości użytej do grupowania danych oraz pobrać średnią dla pogrupowanych rekordów. Słowo kluczowe Key
zawiera właściwość, która została użyta do grupowania danych. W tym przykładzie Key
będzie zawierać wartości udostępnione z właściwości ProductCategory
.
<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>
Uwagi
Jeśli nie ustawisz właściwości Select, kontrolka LinqDataSource pobiera wszystkie właściwości (kolumny danych) z obiektu danych. Właściwość Select służy do pobierania podzestawu właściwości z obiektu lub obliczania nowych wartości podczas pobierania danych.
Określ właściwości do pobrania, ustawiając właściwość Select na nazwy właściwości, które mają zostać uwzględnione w zwracanych danych.
Jeśli pobierasz podzestaw właściwości z obiektu danych, kontrolka LinqDataSource dynamicznie tworzy klasę zawierającą tylko właściwości określone we właściwości Select. Klasa jest również tworzona dynamicznie, jeśli obliczasz właściwości, które nie są właściwościami w obiekcie danych. W takich przypadkach obiekt zwrócony z zapytania nie jest wystąpieniem klasy określonej we właściwości TableName. Zamiast tego należy użyć metody new
we właściwości Select, aby wskazać, że nowa klasa jest zwracana z zapytania. Aby na przykład zwrócić tylko właściwości FirstName
i LastName
z obiektu zawierającego więcej niż te właściwości, ustaw właściwość Select na wartość new(FirstName, LastName)
. Kontrolka LinqDataSource będzie dynamicznie tworzyć nową klasę określoną w metodzie new
.
Możesz użyć słowa kluczowego As
, aby przypisać alias do wybranej wartości. Jeśli przypiszesz alias, musisz uwzględnić właściwości aliasu w metodzie new
. Każda kontrolka powiązana z danymi powiązana z wynikami kontrolki LinqDataSource musi odwoływać się do właściwości za pomocą aliasu. Jeśli na przykład ustawisz właściwość Select na new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)
, kontrola powiązana z danymi będzie mogła uzyskać dostęp do dwóch właściwości, SalesRegion
i RevenueThousands
.
Funkcja new
jest używana we właściwości Select zgodnie z warunkami wymienionymi w poniższej tabeli.
Wybrać | Korzystanie z nowych | Przykład |
---|---|---|
Pojedyncza właściwość. |
new nie są potrzebne. |
Select="Category" |
Wiele właściwości. |
new potrzebne. |
Select="new(Category, Name)" |
Pojedyncze lub wiele właściwości, które mają alias. |
new potrzebne. |
Select="new(Category As CategoryGroup)" |
Jeśli chcesz włączyć automatyczne modyfikacje danych, ale nie chcesz wyświetlać wszystkich właściwości z obiektu danych, nie ustawiaj właściwości Select. Zamiast tego zarządzaj wyświetlaniem za pomocą kontrolki powiązanej z danymi. W przypadku używania kontrolki DetailsView lub kontrolki GridView należy również ustawić AutoGenerateRows lub właściwość AutoGenerateColumns na false
. Wszystkie wartości, które nie są wyświetlane w kontrolce powiązanej z danymi, są przechowywane w stanie widoku. Są one przekazywane bez zmian do źródła danych podczas wykonywania aktualizacji danych.
Podczas grupowania danych w zapytaniu można uwzględnić metody agregacji we właściwości Select. Można użyć następujących metod agregacji:
Count()
kolumny kolumny kolumny kolumny Where(
warunek)
Any()
All(
warunek)
Aby uzyskać więcej informacji, zobacz LinqDataSource Web Server Control Overview and How to: Group and Aggregate Data Using the LinqDataSource Control.
Podczas grupowania danych można uwzględnić Key
i It
, które są dynamicznie tworzonymi właściwościami, we właściwości Select. Właściwość Key
odnosi się do wartości we właściwości lub właściwościach, które zostały użyte do grupowania danych. Jeśli na przykład grupujesz według właściwości o nazwie Category
, właściwość Key
będzie zawierać każdą unikatową wartość we właściwości Category
. Właściwość It
odnosi się do kolekcji poszczególnych rekordów w grupowaniu danych. Można iterować po właściwości It
, aby pobrać poszczególne rekordy, które zostały skonsolidowane w operacji grupowania. Jeśli na przykład grupujesz według właściwości o nazwie Category
, właściwość It
zawiera wszystkie pojedyncze rekordy, które mają wspólną wartość we właściwości Category
.
W przypadku uwzględnienia słowa kluczowego It
we właściwości Select podczas grupowania danych należy przypisać alias do słowa kluczowego It
. Kontrolka LinqDataSource zgłosi wyjątek, jeśli It
nie ma aliasu. Możesz przypisać alias do słowa kluczowego Key
, ale nie jest to wymagane.