Utiliser la classe QueryExpression
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Dans Microsoft Dynamics 365 et Microsoft Dynamics 365 (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 FilterExpression
ConditionExpression 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
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright