Udostępnij za pośrednictwem


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 utworzenia klauzuli Select.

Przykłady

W poniższym przykładzie pokazano, jak ustawić Select właściwość 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żywanej 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 udostępnione 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 Select , kontrolka LinqDataSource pobiera 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.

Określ 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 zwróconych danych.

Jeśli pobierasz podzestaw 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). 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 LinqDataSource wynikami kontrolki musi odwoływać się do właściwości przez alias. Jeśli na przykład ustawisz właściwość na , kontrolka Select powiązana z danymi może uzyskać dostęp do dwóch właściwości i SalesRegionRevenueThousands.new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)

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

Wybierz Korzystanie z nowych Przykład
Pojedyncza właściwość. new nie jest to konieczne. 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świetlaczem za pomocą kontrolki powiązanej z danymi. W przypadku używania kontrolki lub kontrolki DetailsViewGridView należy również ustawić AutoGenerateRows właściwość lub 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 po wykonaniu 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 and How to: Group and Aggregate Data Using the LinqDataSource Control (Omówienie kontroli serwera sieci Web LinqDataSource) i How to: Group and Aggregate Data Using the LinqDataSource Control (Instrukcje: grupowanie i agregowanie danych 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 pogrupujesz według właściwości o nazwie Category, Key właściwość będzie zawierać każdą unikatową wartość we Category właściwości. Właściwość It odwołuje się do kolekcji pojedynczych rekordów w grupie danych. Można wykonać iterację nad właściwością It , aby pobrać poszczególne rekordy, które zostały skonsolidowane w operacji grupowania. Jeśli na przykład pogrupujesz według właściwości o nazwie Category, It właściwość zawiera wszystkie poszczególne rekordy, które współdzielą wspólną wartość we Category właściwości.

Jeśli słowo kluczowe jest uwzględniane It we właściwości podczas Select 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