Générer des requêtes avec QueryExpression
Date de publication : novembre 2016
S’applique à : Dynamics CRM 2015
Dans Mise à jour de Microsoft Dynamics CRM 2015 et de Microsoft Dynamics CRM Online 2015, vous pouvez utiliser la classe QueryExpression pour générer par programme une requête contenant des filtres de données et des conditions de recherche qui définissent la portée d’une recherche dans une base de données. Une expression de requête est utilisée pour les recherches à un seul objet. Par exemple, vous pouvez créer une recherche pour retourner tous les comptes qui répondent à certains critères de recherche. La classe QueryBase est la classe de base pour les expressions de requête. Il y a deux classes dérivées : QueryExpression et QueryByAttribute. La classe QueryExpression prend en charge les requêtes complexes. La classe QueryByAttribute est un moyen simple de rechercher des entités dans lesquelles les attributs correspondent à des valeurs spécifiées.
Les expressions de requête sont utilisées dans les méthodes qui récupèrent plusieurs enregistrements, par exemple la méthode IOrganizationService.RetrieveMultiple, dans les messages qui effectuent une opération sur un ensemble de résultats spécifié par une expression de requête, par exemple BulkDeleteRequest et lorsque l’ID d’un enregistrement spécifique n’est pas connu.
En outre, il y a un nouvel attribut sur l’entité d’organisation, Organization.QuickFindRecordLimitEnabled. Lorsque cet attribut Boolean est true, une limite est imposée aux requêtes de recherche rapide. Si un utilisateur fournit des critères de recherche dans la recherche rapide qui ne sont pas assez sélectifs, le système détecte cela et arrête la recherche. Un formulaire plus rapide de recherche rapide est pris en charge et peut entraîner une différence de performances importante.
Avertissement
Ne récupérez pas tous les attributs d’une requête du fait de l’impact négatif sur les performances. Cela est particulièrement vrai si la requête est utilisée comme un paramètre à une demande de mise à jour. Dans une mise à jour, si tous les attributs sont inclus, cela définit les valeurs de champ, même si elles sont inchangées, et engendre souvent des mises à jour en cascade vers les enregistrements enfants.
Il existe deux autres méthodes permettant de créer des requêtes pour récupérer des enregistrements depuis Microsoft Dynamics 365.FetchXML, le langage de requête Microsoft Dynamics 365 propriétaire, peut être utilisé pour effectuer certaines requêtes à l’aide de requêtes XML. Pour plus d'informations, voir Générer des requêtes avec FetchXML. Vous pouvez aussi utiliser Language-Integrated Query (LINQ) .NET pour écrire des requêtes.Pour plus d'informations :Générer des requêtes avec LINQ (Language-Integrated Query .NET).
Pour enregistrer une requête, vous pouvez la convertir en FetchXML à l’aide de QueryExpressionToFetchXmlRequest et la sauvegarder sous forme de vue enregistrée à l’aide de l’entité userquery.
Dans cette section
Utiliser la classe QueryByAttribute
Utiliser la classe QueryExpression
Utiliser la classe ConditionExpression
Utiliser la classe FilterExpression
Mettre en page d’importants ensembles de résultats avec QueryExpression
Exemple : Extraire avec une relation un-à-plusieurs
Exemple : Récupération multiple avec la classe QueryByAttribute
Exemple : récupération multiple avec la classe QueryExpression
Exemple : Utiliser QueryExpression avec un cookie de pagination
Référence
Voir aussi
Exemple : Convertir des requêtes entre des expressions Fetch et Query
© 2017 Microsoft. Tous droits réservés. Copyright