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 , чтобы указать, что новый класс возвращается из запроса. Например, чтобы возвращать только FirstNameLastName свойства из объекта, содержащего больше этих свойств, задайте Select для свойства значение new(FirstName, LastName). Элемент LinqDataSource управления динамически создаст новый класс, указанный в методе new .
Ключевое As слово можно использовать для назначения псевдонима выбранному значению. При назначении псевдонима необходимо включить в метод псевдонимы.new Любой элемент управления, привязанный к данным, который привязывается к результатам элемента LinqDataSource управления, должен ссылаться на свойство псевдонимом. Например, если задать Select для свойства new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)значение, элемент управления с привязкой к данным может получить доступ к двум свойствам и SalesRegionRevenueThousands.
Функция используется new в Select свойстве в соответствии с условиями, указанными в следующей таблице.
| Выбирать | Использование новых | Пример |
|---|---|---|
| Одно свойство. |
new не требуется. |
Select="Category" |
| Несколько свойств. |
new Необходимости. |
Select="new(Category, Name)" |
| Одно или несколько свойств с псевдонимом. |
new Необходимости. |
Select="new(Category As CategoryGroup)" |
Если вы хотите включить автоматическое изменение данных, но не хотите отображать все свойства из объекта данных, не устанавливайте Select это свойство. Вместо этого управляйте отображением с помощью элемента управления с привязкой к данным. При использовании DetailsView элемента управления или GridView элемента управления необходимо также задать AutoGenerateRowsAutoGenerateColumns для falseсвойства значение . Все значения, которые не отображаются в элементе управления с привязкой к данным, хранятся в состоянии представления. Они передаются в источник данных без изменений при выполнении обновления данных.
При группировке данных в запросе можно включить агрегатные методы в Select свойство. Вы можете использовать следующие статистические методы:
Count()Average(Столбца)Sum(Столбца)Max(Столбца)Min(Столбца)Where(состояние)Any()All(состояние)
Дополнительные сведения см. в разделе LinqDataSource Web Server Control Overviewи How to: Group and Aggregate Data Using the LinqDataSource Control.
При группировке данных можно включить Key и It,которые динамически создаются свойства в свойстве Select . Свойство Key ссылается на значения в свойстве или свойствах, которые использовались для группировки данных. Например, если вы группируются по свойству с именем Category, Key свойство будет содержать каждое уникальное значение в свойстве Category . Свойство It ссылается на коллекцию отдельных записей в группировке данных. Вы можете выполнить итерацию It по свойству, чтобы получить отдельные записи, которые были консолидированы в операции группировки. Например, если вы группируете свойство с именем Category, It свойство содержит все отдельные записи, которые совместно используют общее значение в свойстве Category .
Если ключевое It слово включено в Select свойство при группировке данных, необходимо назначить псевдоним ключевому слову It . Элемент LinqDataSource управления создает исключение, если It у него нет псевдонима. Псевдоним можно назначить ключевому Key слову, но это не обязательно.