Utiliser la classe ConditionExpression
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Dans Microsoft Dynamics 365 (Online et local), 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 |
---|---|
Spécifie le nom logique de l’attribut dans l’expression de la condition. |
|
Spécifie l’opérateur de condition. La définition s’effectue à l’aide de l’énumération ConditionOperator. |
|
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
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright