Del via


Brug klassen ConditionExpression

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

I Microsoft Dynamics 365 (online og i det lokale miljø), kan du bruge klassen ConditionExpression til at sammenligne en attribut til en værdi eller et sæt af værdier vha. en operator, som "lig med" eller "større end". Med klassen ConditionExpression kan du overføre betingelsesudtryk som parametre til andre klasser, f.eks. QueryExpression og FilterExpression.

I følgende tabel vises egenskaber, du kan angive for at oprette en betingelse vha. klassen ConditionExpression.

Egenskab

Beskrivelse

AttributeName

Angiver det logiske navn for attributten i betingelsesudtrykket.

Operator

Angiver operatorens betingelse. Det er angivet vha. optællingen ConditionOperator.

Values

Angiver værdierne for attributten.

Når du bruger metoden AddCondition (eller konstruktøren til ConditionExpression), er det vigtigt at forstå, om matrixen tilføjes som flere værdier eller en matrix.

Følgende kodeeksempel viser to forskellige resultater, afhængigt af hvordan matrixen bruges.

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 

I nogle tilfælde er det nødvendigt at konvertere til object[] eller object afhængigt af den ønskede funktionsmåde.

Når du opretter en betingelse, der sammenligner en attributværdi til en optælling, som f.eks. en tilstandskode, skal du bruge metoden ToString til at konvertere værdien til en streng.

Eksempel

Følgende kode viser, hvordan du bruger klassen 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("---------------------------------------");

Eksempel

Følgende kodeeksempel viser, hvordan du bruger klassen ConditionExpression til at teste den inaktive tilstand.

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

Se også

ConditionExpression
Oprette forespørgsler med QueryExpression
Oprette forespørgsler med QueryExpression
Brug klassen FilterExpression

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret