Partager via


Utiliser la classe ConditionExpression

 

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 ConditionExpression pour comparer un attribut à une valeur ou à un ensemble de valeurs à l’aide d’un opérateur, tel que « égal à » ou « supérieur à ». La classe ConditionExpression vous permet de passer les expressions de condition comme paramètres à d’autres classes, telles que QueryExpression et FilterExpression.

Le tableau suivant répertorie les propriétés que vous pouvez définir pour créer une condition à l’aide de la classe d’ConditionExpression.

Propriété

Description

AttributeName

Spécifie le nom logique de l’attribut dans l’expression de la condition.

Operator

Spécifie l’opérateur de condition. La définition s’effectue à l’aide de l’énumération ConditionOperator.

Values

Spécifie les valeurs de l’attribut.

Lors de l’utilisation de la méthode d’AddCondition (ou du constructeur pour ConditionExpression), il importe de savoir si le tableau est ajouté comme valeurs multiples ou comme tableau.

L’exemple de code suivant affiche deux résultats différents selon la façon dont le tableau est utilisé.

string[] values = new string[] { "Value1", "Value2" };
ConditionExpression c = new ConditionExpression("name", ConditionOperator.In, values);
Console.WriteLine(c.Values.Count); //This will output 2 
string[] values = new string[] { "Value1", "Value2" }object value = values;
ConditionExpression c = new ConditionExpression("name", ConditionOperator.In, value);
Console.WriteLine(c.Values.Count); //This will output 1 

Dans certains cas, il est nécessaire d’effectuer un cast vers object[] ou vers object, selon le comportement souhaité.

Lorsque vous créez une condition qui compare une valeur d’attribut à une énumération, comme un code d’état, vous devez utiliser la méthode ToString pour convertir la valeur en une chaîne.

Exemple

L’exemple de code suivant montre comment utiliser la classe ConditionExpression.

//  Query using ConditionExpression  
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("---------------------------------------");

Exemple

L’exemple de code suivant montre comment utiliser la classe ConditionExpression pour tester l’état inactif.

ConditionExpression condition3 = new ConditionExpression();
condition3.AttributeName = "statecode";
condition3.Operator = ConditionOperator.Equal;
condition3.Values.Add(AccountState.Active);

Voir aussi

ConditionExpression
Générer des requêtes avec QueryExpression
Générer des requêtes avec QueryExpression
Utiliser la classe FilterExpression

© 2017 Microsoft. Tous droits réservés. Copyright