다음을 통해 공유


ConditionExpression 클래스 사용

 

게시 날짜: 2017년 1월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Microsoft Dynamics 365(온라인 및 온-프레미스)에서 ConditionExpression 클래스를 사용하여 “equal to” 또는 “greater than”과 같은 연산자를 사용하여 특성을 값 또는 값 집합과 비교할 수 있습니다.ConditionExpression 클래스를 사용하면 조건 식을 매개 변수로 QueryExpressionFilterExpression과 같은 다른 클래스에 전달할 수 있습니다.

다음 표에는 ConditionExpression 클래스를 사용하여 조건을 만드는 데 설정할 수 있는 속성이 나와 있습니다.

속성

설명

AttributeName

조건 식에서 특성의 논리적 이름을 지정합니다.

Operator

조건 연산자를 지정합니다. 이는 ConditionOperator 열거형을 사용하여 설정됩니다.

Values

특성의 값을 지정합니다.

AddCondition 메서드(또는 ConditionExpression의 생성자)를 사용할 경우 배열이 여러 값으로 추가되든지 아니면 배열로 추가되든지 잘 알고 있어야 합니다.

다음 코드 예제에서는 배열을 사용하는 방법에 따라 두 개의 서로 다른 결과를 보여 줍니다.

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 

어떤 경우에는 원하는 동작에 따라 object[] 또는 object로 캐스팅해야 합니다.

특성 값을 열거형과 비교하는 조건을 만들 때 ToString 메서드를 사용하여 값을 문자열로 변환해야 합니다.

예제

다음 코드 예제에서는 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("---------------------------------------");

예제

다음 코드 예제에서는 ConditionExpression 클래스를 사용하여 비활성 상태를 테스트하는 방법을 보여 줍니다.

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

참고 항목

ConditionExpression
QueryExpression을 사용하여 쿼리 작성
QueryExpression을 사용하여 쿼리 작성
FilterExpression 클래스 사용

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 저작권 정보