LinqDataSource.Select Свойство

Определение

Возвращает или задает свойства и рассчитанные значение, которые включаются в извлеченные данные.

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

Значение свойства

Строка, которая используется для создания предложения "Select".

Примеры

В следующем примере показано, как задать Select для свойства подмножество свойств в объекте данных.

<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>

В следующем примере показано, как получить значения в свойстве, которое использовалось для группировки данных, и получить среднее значение для сгруппированных записей. Ключевое Key слово содержит свойство, которое использовалось для группировки данных. В этом примере Key будет содержать общие значения из 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>

Комментарии

Если свойство не задано Select , LinqDataSource элемент управления извлекает все свойства (столбцы данных) из объекта данных. Свойство используется Select для получения подмножества свойств из объекта или для вычисления новых значений при извлечении данных.

Вы указываете, какие свойства следует извлечь, задав Select для свойства имена свойств, которые необходимо включить в возвращаемые данные.

При извлечении подмножества свойств из объекта LinqDataSource данных элемент управления динамически создает класс, содержащий только свойства, указанные в свойстве Select . Класс также создается динамически при вычислении свойств, которые не являются свойствами в объекте данных. В таких случаях объект, возвращаемый запросом, не является экземпляром класса , указанного в свойстве TableName . Вместо этого необходимо использовать new метод в свойстве Select , чтобы указать, что из запроса возвращается новый класс. Например, чтобы вернуть только FirstName свойства и LastName из объекта, содержащего больше этих свойств, присвойте свойству Select значение new(FirstName, LastName). Элемент LinqDataSource управления динамически создаст новый класс, указанный в методе new .

Для назначения псевдонима As выбранному значению можно использовать ключевое слово . При назначении псевдонима необходимо включить свойства псевдонима в new метод . Любой элемент управления с привязкой к данным, который привязывается к результатам из LinqDataSource элемента управления, должен ссылаться на свойство по псевдониму. Например, если для свойства задано значение Selectnew(Region As SalesRegion, Revenue / 1000 As RevenueThousands), элемент управления с привязкой к данным может обращаться к двум свойствам: SalesRegion и RevenueThousands.

Функция используется new в свойстве в Select соответствии с условиями, перечисленными в следующей таблице.

Выберите пункт Использование новых Пример
Одно свойство. new не требуется. Select="Category"
Несколько свойств. new Необходимости. Select="new(Category, Name)"
Одно или несколько свойств с псевдонимом. new Необходимости. Select="new(Category As CategoryGroup)"

Если вы хотите включить автоматическое изменение данных, но не хотите отображать все свойства объекта данных, не устанавливайте Select свойство . Вместо этого управляйте отображением с помощью элемента управления с привязкой к данным. При использовании DetailsView элемента управления или GridView элемента управления необходимо также задать для AutoGenerateRows свойства или AutoGenerateColumns значение false. Все значения, которые не отображаются в элементе управления с привязкой к данным, хранятся в состоянии представления. Они передаются в источник данных без изменений при обновлении данных.

При группировке данных в запросе можно включить статистические Select методы в свойство . Можно использовать следующие статистические методы:

  • Count()

  • Average(Столбца)

  • Sum(Столбца)

  • Max(Столбца)

  • Min(Столбца)

  • Where(condition)

  • Any()

  • All(condition)

Дополнительные сведения см. в разделах Обзор серверного веб-элемента управления LinqDataSource и Практическое руководство. Группировка и агрегирование данных с помощью элемента управления LinqDataSource.

При группировке данных можно включить Key в свойство и It, которые являются динамически создаваемыми свойствами Select . Свойство Key ссылается на значения в свойстве или свойствах, которые использовались для группировки данных. Например, если группировать по свойству с именем Category, Key свойство будет содержать каждое уникальное значение в свойстве Category . Свойство It ссылается на коллекцию отдельных записей в группировке данных. Можно выполнить итерацию по свойству , It чтобы получить отдельные записи, которые были консолидированы в операции группировки. Например, если группировать по свойству с именем Category, It свойство будет содержать все отдельные записи, которые имеют общее значение в свойстве Category .

Если вы включаете ключевое It слово в Select свойство при группировке данных, необходимо присвоить ключевому слову It псевдоним. Элемент LinqDataSource управления создаст исключение, если It у него нет псевдонима. Вы можете назначить ключевому слову Key псевдоним, но это необязательно.

Применяется к