Delen via


De klasse ConditionExpression gebruiken

 

Gepubliceerd: januari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

In Microsoft Dynamics 365 (online en on-premises), kunt u de klasse ConditionExpression gebruiken om een kenmerk te vergelijken met een waarde of reeks van waarden met behulp van een operator, zoals "gelijk aan" of "groter dan". Via de klasse ConditionExpression kunt u voorwaardenexpressies doorgeven als parameters aan andere klassen, zoals QueryExpression en FilterExpression.

De volgende tabel bevat de eigenschappen die u kunt instellen voor het maken van een voorwaarde met de klasse ConditionExpression.

Eigenschap

Beschrijving

AttributeName

Geeft de logische naam van het kenmerk in de voorwaarde-expressie op.

Operator

Geeft de voorwaardenoperator op. Deze wordt ingesteld door de opsomming ConditionOperator te gebruiken.

Values

Geeft de waarden van het kenmerk op.

Als u de methode AddCondition (of de constructor voor ConditionExpression) gebruikt, is het belangrijk te weten of de matrix wordt toegevoegd als meerdere waarden of als matrix.

Het volgende codevoorbeeld laat twee verschillende resultaten zien, afhankelijk van hoe de matrix wordt gebruikt.

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 

In sommige gevallen is het noodzakelijk om te converteren naar object[] of naar object, afhankelijk van het gewenste gedrag.

Wanneer u een voorwaarde maakt waarbij een kenmerkwaarde met een opsomming wordt vergeleken, zoals een statuscode, moet u de methode ToString gebruiken om de waarde te converteren naar een tekenreeks.

Voorbeeld

In het volgende codevoorbeeld ziet u hoe u de klasse ConditionExpression kunt gebruiken.

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

Voorbeeld

Het volgende code voorbeeld laat zien hoe u de klasse ConditionExpression gebruikt om voor de inactieve status te testen.

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

Zie ook

ConditionExpression
Bouw query's met QueryExpression
Bouw query's met QueryExpression
De klasse FilterExpression gebruiken

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht