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 propriété Select 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é utilisée pour regrouper des données et récupérer la moyenne des enregistrements groupés. Le mot clé Key
contient la propriété utilisée pour le regroupement de données. Dans cet exemple, Key
contiendra les valeurs partagées de la propriété 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>
Remarques
Si vous ne définissez pas la propriété Select, le contrôle LinqDataSource récupère toutes les propriétés (colonnes de données) de l’objet de données. Vous utilisez la propriété Select pour récupérer un sous-ensemble de propriétés à partir 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 propriété Select 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 contrôle LinqDataSource crée dynamiquement une classe qui contient uniquement les propriétés que vous spécifiez dans la propriété Select. 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 ces cas, l’objet retourné par la requête n’est pas une instance de la classe spécifiée dans la propriété TableName. Au lieu de cela, vous devez utiliser la méthode new
dans la propriété Select pour indiquer qu’une nouvelle classe est retournée par la requête. Par exemple, pour renvoyer uniquement les propriétés FirstName
et LastName
d’un objet qui contient plus de ces propriétés, définissez la propriété Select sur new(FirstName, LastName)
. Le contrôle LinqDataSource crée dynamiquement la nouvelle classe que vous avez spécifiée dans la méthode new
.
Vous pouvez utiliser le mot clé As
pour affecter un alias à une valeur sélectionnée. Si vous attribuez un alias, vous devez inclure les propriétés alias dans la méthode new
. Tout contrôle lié aux données qui se lie aux résultats du contrôle LinqDataSource doit faire référence à la propriété par l’alias. Par exemple, si vous définissez la propriété Select sur new(Region As SalesRegion, Revenue / 1000 As RevenueThousands)
, le contrôle lié aux données peut accéder à deux propriétés, SalesRegion
et RevenueThousands
.
Vous utilisez la fonction new
dans la propriété Select en fonction des conditions répertoriées dans le tableau suivant.
Choisir | Utilisation de nouvelles | Exemple |
---|---|---|
Propriété unique. |
new pas nécessaire. |
Select="Category" |
Plusieurs propriétés. |
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 propriété Select. Au lieu de cela, gérez l’affichage via le contrôle lié aux données. Lorsque vous utilisez le contrôle DetailsView ou le contrôle GridView, vous devez également définir la AutoGenerateRows ou la propriété AutoGenerateColumns sur false
. 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. Ils sont passés inchangés à 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 propriété Select. Vous pouvez utiliser les méthodes d’agrégation suivantes :
Count()
Average(
)
de colonneSum(
)
de colonneMax(
)
de colonneMin(
)
de colonneWhere(
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 propriété Select. La propriété Key
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 propriété Key
contiendra chaque valeur unique dans la propriété Category
. La propriété It
fait référence à une collection d’enregistrements individuels dans un regroupement de données. Vous pouvez itérer sur la propriété It
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 propriété It
contient tous les enregistrements individuels qui partagent une valeur commune dans la propriété Category
.
Si vous incluez le mot clé It
dans la propriété Select lorsque vous regroupez des données, vous devez affecter un alias au mot clé It
. Le contrôle LinqDataSource lève une exception si It
n’a pas d’alias. Vous pouvez affecter un alias au mot clé Key
, mais cela n’est pas obligatoire.