LinqDataSource.Select Właściwość

Definicja

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ć Select właściwość na podzbiór 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 i pobrać średnią dla pogrupowanych rekordów. Słowo Key kluczowe zawiera właściwość, która została użyta do grupowania danych. W tym przykładzie Key będą zawierać wartości współużytkowane z ProductCategory właściwości .

<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 właściwość nie zostanie ustawiona, kontrolka SelectLinqDataSource pobierze wszystkie właściwości (kolumny danych) z obiektu danych. Właściwość służy Select do pobierania podzestawu właściwości z obiektu lub obliczania nowych wartości podczas pobierania danych.

Należy określić właściwości do pobrania, ustawiając Select właściwość na nazwy właściwości, które mają zostać uwzględnione w zwracanych danych.

Jeśli pobierasz podzbiór właściwości z obiektu danych, LinqDataSource kontrolka dynamicznie tworzy klasę zawierającą tylko właściwości określone we Select właściwości. 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 TableName właściwości . Zamiast tego należy użyć new metody we Select właściwości , aby wskazać, że nowa klasa jest zwracana z zapytania. Aby na przykład zwrócić tylko FirstName właściwości i LastName z obiektu zawierającego więcej niż te właściwości, ustaw Select właściwość na new(FirstName, LastName)wartość . 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ść na wartość , kontrolka Select powiązana z danymi będzie mogła uzyskać dostęp do dwóch właściwości i SalesRegionRevenueThousands.new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)

Funkcja jest używana new we Select właściwości zgodnie z warunkami wymienionymi w poniższej tabeli.

Wybierz Korzystanie z nowych Przykład
Pojedyncza właściwość. new niewymaganych. 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 Select właściwości. 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 właściwość lub AutoGenerateColumns na falsewartość . Wszystkie wartości, które nie są wyświetlane w kontrolce powiązanej z danymi, są przechowywane w stanie widoku. Są przekazywane bez zmian do źródła danych podczas wykonywania aktualizacji danych.

Podczas grupowania danych w zapytaniu można uwzględnić metody agregacji we Select właściwości . Można użyć następujących metod agregacji:

  • Count()

  • Average(Kolumna)

  • Sum(Kolumna)

  • Max(Kolumna)

  • Min(Kolumna)

  • Where(Warunek)

  • Any()

  • All(Warunek)

Aby uzyskać więcej informacji, zobacz LinqDataSource Web Server Control Overview (Omówienie kontroli serwera sieci Web LinqDataSource) i How to: Group and Aggregate Data Using the LinqDataSource Control (Jak grupować i agregować dane przy użyciu kontrolki LinqDataSource).

Podczas grupowania danych można uwzględnić Key właściwości i It, które są dynamicznie tworzone we Select właściwości . Właściwość Key odwołuje 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, Key właściwość będzie zawierać każdą unikatową Category wartość we właściwości . Właściwość It odnosi się do kolekcji pojedynczych rekordów w grupie danych. Możesz wykonać iterację It po właściwości, 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, It właściwość zawiera wszystkie pojedyncze rekordy, które mają wspólną wartość we Category właściwości.

Jeśli słowo kluczowe zostanie It uwzględnione we Select właściwości podczas grupowania danych, musisz 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.

Dotyczy