Partager via


EntityDataSource.Select Propriété

Définition

Obtient ou définit la projection qui définit les propriétés à inclure dans les résultats de la requête.

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é

String

Paramètres utilisés pour créer la clause ORDER BY.

Exceptions

Lorsque la propriété Select spécifie une projection de requête et la valeur de EnableUpdate, EnableDelete ou EnableInsert est true.

Exemples

Le balisage XML suivant utilise la Select propriété pour spécifier une projection avec six des propriétés du type de produit :

<asp:EntityDataSource ID="ProductDataSource" runat="server"
    ConnectionString="name=AdventureWorksEntities"
    DefaultContainerName="AdventureWorksEntities"
    EntitySetName="Product" OrderBy="it.[ProductID]"
    Select="it.[ProductID], it.[Name], it.[ListPrice],
    it.[Size], it.[Style], it.[Weight]">
</asp:EntityDataSource>

L’exemple XML précédent est le même que celui qui est ObjectQuery<T> nommé products :

ObjectQuery<Product> products = context.Product
    .Select(it.[ProductID], it.[Name], it.[ListPrice],
      it.[Size], it.[Style], it.[Weight])
    .OrderBy("it.[ProductID]");

Remarques

La Select propriété du EntityDataSource contrôle contient une chaîne qui représente l’instruction Select d’une requête de Entity SQL. Cela vous permet de projeter un ensemble spécifié de propriétés à partir des objets retournés par la requête.

Cette chaîne est passée, sans modification, au ObjectQuery<T> qui est exécuté par le Entity Framework. Cette requête est la source des données régulées par le EntityDataSource contrôle. La chaîne fournie à la Select propriété utilise le même format que la chaîne passée à la Select méthode de ObjectQuery<T> . Pour obtenir des exemples d’utilisation de la clause Select pour définir une projection pour une requête, consultez Comment : exécuter une requête qui retourne des objets de type anonyme.

Les mises à jour ne sont pas prises en charge pour les données projetées. Cela signifie que lorsque vous utilisez la Select propriété pour spécifier une projection, la liaison de données liée ne prend pas en charge les mises à jour.

Quand vous définissez une projection avec la pagination activée, vous devez définir la propriété en fonction de laquelle les résultats doivent être triés. Cela signifie que lorsque vous affectez à la propriété la valeur Select définie pour une projection et que AutoPage vous avez défini sur true , vous devez également définir la OrderBy propriété pour définir l’ordre ou définir la AutoGenerateOrderByClause propriété sur true et ajouter un paramètre order by à la OrderByParameters collection.

Select ne peut pas être défini si EnableUpdate , EnableDelete ou EnableInsert est activé.

Si Select a la valeur d’une requête qui retourne une projection de propriétés (par exemple, SELECT p.ProductID, p. Name FROM AdventureWorksEntities.Products AS p ), une est DbDataRecord retournée.

S’applique à