Requêtes à partir du code côté serveur
Dernière modification : mardi 2 février 2010
S’applique à : SharePoint Foundation 2010
Dans cet article
Requêtes effectuées à l’aide de CAML et de SPQuery
Requêtes avec le fournisseur LINQ to SharePoint
Comparaison entre CAML et LINQ
Cette rubrique donne une vue d’ensemble des différences existant entre les deux moyens d’effectuer des requêtes de données Microsoft SharePoint Foundation dans du code côté serveur.
Requêtes effectuées à l’aide de CAML et de SPQuery
Vous pouvez effectuer des requêtes sur tous les types de données SharePoint Foundation, y compris des données qui ne sont pas des listes, à l’aide du modèle objet serveur ordinaire. La classe la plus importante pour les requêtes est SPQuery. Les parties des requêtes écrites en Langage CAML (Collaborative Application Markup Language) sont affectées aux propriétés Query, Joins, ProjectedFields et ViewFields d’un objet SPQuery. L’objet est ensuite passé à une méthode telle que SPList.GetItems(), qui retourne les éléments demandés par la requête.
Pour des exemples, voir Utilisation des objets Liste et des collections et Procédure : renvoyer des éléments à partir d'une liste.
Requêtes avec le fournisseur LINQ to SharePoint
Vous pouvez effectuer des requêtes sur des données de liste SharePoint Foundation, et seulement sur des données de liste, à l’aide du fournisseur LINQ to SharePoint. Vous écrivez les requêtes dans la syntaxe LINQ et vous affectez les résultats à un objet de retour. La requête est exécutée la première fois que l’objet de retour est énuméré. À ce moment, la requête est traduite par le fournisseur LINQ to SharePoint en une requête CAML, puis elle est traitée comme toute autre requête CAML. Pour plus d’informations, voir les rubriques sous le nœud Gestion des données avec LINQ to SharePoint.
Comparaison entre CAML et LINQ
Le principal avantage des requêtes CAML est qu’il peut y avoir une meilleure performance car il n’y a pas besoin de traduire la requête de la syntaxe LINQ vers la syntaxe CAML.
Les principaux avantages de l’utilisation des requêtes LINQ sont les suivants :
Vous pouvez utiliser la syntaxe LINQ et les mots clés LINQ intégrés à C# et Microsoft Visual Basic. En revanche, le code XML CAML peut générer des erreurs et est applicable seulement à SharePoint Foundation.
Avec le fournisseur LINQ to SharePoint, vous travaillez avec des objets d’éléments de liste fortement typés. Dans le modèle objet client SharePoint Foundation, deux objets SPListItem quels qu’ils soient sont du même type, même s’ils représentent des éléments dans des sortes de listes complètement différentes. Cependant, le fournisseur LINQ to SharePoint utilise des classes d’entités, y compris une classe pour chaque type de contenu utilisé sur n’importe quelle liste d’un site Web. Par exemple, un élément de la liste Announcements est un objet de type Announcement et un élément d’une liste Tasks est un objet de type Task.