LinqDataSource.Select Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit les propriétés et les valeurs calculées incluses dans les données récupérées.
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
Valeur de propriété
Chaîne utilisée pour créer la clause Select.
Exemples
L’exemple suivant montre comment définir la Select propriété sur un sous-ensemble de propriétés dans l’objet de données.
<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>
L’exemple suivant montre comment récupérer des valeurs dans une propriété qui a été utilisée pour regrouper des données et récupérer la moyenne des enregistrements groupés. Le Key
mot clé contient la propriété utilisée pour le regroupement de données. Dans cet exemple, Key
contient les valeurs partagées de la ProductCategory
propriété.
<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>
Remarques
Si vous ne définissez pas la Select propriété, le LinqDataSource contrôle récupère toutes les propriétés (colonnes de données) de l’objet de données. Vous utilisez la Select propriété pour récupérer un sous-ensemble de propriétés de l’objet ou pour calculer de nouvelles valeurs lorsque les données sont récupérées.
Vous spécifiez les propriétés à récupérer en définissant la Select propriété sur les noms des propriétés que vous souhaitez inclure dans les données retournées.
Si vous récupérez un sous-ensemble de propriétés à partir de l’objet de données, le LinqDataSource contrôle crée dynamiquement une classe qui contient uniquement les propriétés que vous spécifiez dans la Select propriété. Une classe est également créée dynamiquement si vous calculez des propriétés qui ne sont pas des propriétés dans l’objet de données. Dans ce cas, l’objet retourné par la requête n’est pas une instance de la classe spécifiée dans la TableName propriété. Au lieu de cela, vous devez utiliser la new
méthode dans la Select propriété pour indiquer qu’une nouvelle classe est retournée par la requête. Par exemple, pour renvoyer uniquement les propriétés et LastName
les FirstName
propriétés d’un objet qui contient plus de ces propriétés, définissez la propriété new(FirstName, LastName)
sur Select . Le LinqDataSource contrôle crée dynamiquement la nouvelle classe que vous avez spécifiée dans la new
méthode.
Vous pouvez utiliser le As
mot clé pour affecter un alias à une valeur sélectionnée. Si vous attribuez un alias, vous devez inclure les propriétés alias dans la new
méthode. Tout contrôle lié aux données qui se lie aux résultats du LinqDataSource contrôle doit faire référence à la propriété par l’alias. Par exemple, si vous définissez la Select propriété new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)
sur , le contrôle lié aux données peut accéder à deux propriétés et SalesRegion
RevenueThousands
.
Vous utilisez la new
fonction dans la Select propriété en fonction des conditions répertoriées dans le tableau suivant.
Sélectionnez | Utilisation de nouveaux | Exemple |
---|---|---|
Propriété unique. | new pas nécessaire. |
Select="Category" |
Propriétés multiples. | new Nécessaire. |
Select="new(Category, Name)" |
Propriétés uniques ou multiples qui ont un alias. | new Nécessaire. |
Select="new(Category As CategoryGroup)" |
Si vous souhaitez activer les modifications automatiques des données, mais que vous ne souhaitez pas afficher toutes les propriétés de l’objet de données, ne définissez pas la Select propriété. Au lieu de cela, gérez l’affichage via le contrôle lié aux données. Lorsque vous utilisez le DetailsView contrôle ou le GridView contrôle, vous devez également définir la propriété ou la AutoGenerateRows propriété false
sur AutoGenerateColumns . Toutes les valeurs qui ne sont pas affichées dans le contrôle lié aux données sont stockées dans l’état d’affichage. Elles sont passées inchangées à la source de données lorsque la mise à jour des données est effectuée.
Lorsque vous regroupez des données dans la requête, vous pouvez inclure des méthodes d’agrégation dans la Select propriété. Vous pouvez utiliser les méthodes d’agrégation suivantes :
Count()
Average(
column)
Sum(
column)
Max(
column)
Min(
column)
Where(
Condition)
Any()
All(
Condition)
Pour plus d’informations, consultez Vue d’ensemble du contrôle serveur web LinqDataSource et Guide pratique pour regrouper et agréger des données à l’aide du contrôle LinqDataSource.
Lorsque vous regroupez des données, vous pouvez inclure Key
et It
, qui sont créées dynamiquement, dans la Select propriété. La Key
propriété fait référence aux valeurs de la propriété ou des propriétés utilisées pour regrouper les données. Par exemple, si vous regroupez par une propriété nommée Category
, la Key
propriété contiendra chaque valeur unique dans la Category
propriété. La It
propriété fait référence à une collection d’enregistrements individuels dans un regroupement de données. Vous pouvez itérer sur la It
propriété pour récupérer les enregistrements individuels qui ont été consolidés dans l’opération de regroupement. Par exemple, si vous regroupez par une propriété nommée Category
, la It
propriété contient tous les enregistrements individuels qui partagent une valeur commune dans la Category
propriété.
Si vous incluez le It
mot clé dans la Select propriété lorsque vous regroupez des données, vous devez affecter un alias au It
mot clé. Le LinqDataSource contrôle lève une exception s’il It
n’a pas d’alias. Vous pouvez affecter un alias au Key
mot clé, mais cela n’est pas obligatoire.