Utiliser la classe QueryExpression
Date de publication : novembre 2016
S’applique à : Dynamics CRM 2015
Dans Microsoft Dynamics CRM 2015 et Microsoft Dynamics CRM Online, vous pouvez utiliser la classe QueryExpression pour créer des requêtes complexes à utiliser avec la méthode IOrganizationService.RetrieveMultiple ou le message RetrieveMultipleRequest. Vous pouvez définir des paramètres de requête sur QueryExpression à l’aide des classes ConditionExpression, ColumnSet et FilterExpression.
La classe QueryExpression vous permet de créer des requêtes complexes. La classe QueryByAttribute est conçue comme un moyen simple pour rechercher des entités dans lesquelles les attributs correspondent à des valeurs spécifiées.
Le tableau suivant répertorie les propriétés que vous définissez pour créer une expression de requête.
Propriété |
Description |
---|---|
Spécifie le type d’entité qui sera récupéré. Une expression de requête peut uniquement récupérer une collection d’un seul type d’entité. |
|
Spécifie l’ensemble des attributs (colonnes) à récupérer. |
|
Spécifie les expressions de filtre conditionnelles et logiques complexes qui filtrent les résultats de la requête. |
|
Spécifie si les résultats de la requête contiennent des enregistrements en double. |
|
Spécifie les liens entre plusieurs types d’entités. |
|
Spécifie l’ordre dans lequel l’enregistrement est renvoyé pour la requête. |
|
Spécifie le nombre de pages et le nombre d’enregistrements affichés par page renvoyés pour la requête. |
Nombre d’enregistrements
Pour savoir combien d’enregistrements la requête a renvoyé, définissez la propriété ReturnTotalRecordCount sur true avant d’exécuter la requête. Dans ce cas, TotalRecordCount est défini. Sinon, cette valeur est -1.
Exemple
L’exemple suivant montre comment utiliser la classe QueryExpression.
// Query using ConditionExpression and FilterExpressionConditionExpression condition1 = new ConditionExpression();condition1.AttributeName = "lastname";condition1.Operator = ConditionOperator.Equal;condition1.Values.Add("Brown"); FilterExpression filter1 = new FilterExpression();filter1.Conditions.Add(condition1);QueryExpression query = new QueryExpression("contact");query.ColumnSet.AddColumns("firstname", "lastname");query.Criteria.AddFilter(filter1);EntityCollection result1 = _serviceProxy.RetrieveMultiple(query);Console.WriteLine();Console.WriteLine("Query using Query Expression with ConditionExpression and FilterExpression");Console.WriteLine("---------------------------------------");foreach (var a in result1.Entities){ Console.WriteLine("Name: " + a.Attributes["firstname"] + " " + a.Attributes["lastname"]);}Console.WriteLine("---------------------------------------");
Voir aussi
QueryExpression
Générer des requêtes avec QueryExpression
Utiliser la classe ColumnSet
Utiliser la classe ConditionExpression
Utiliser la classe FilterExpression
© 2017 Microsoft. Tous droits réservés. Copyright