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 클래스를 사용하면 조건 식을 매개 변수로 QueryExpression 및 FilterExpression과 같은 다른 클래스에 전달할 수 있습니다.
다음 표에는 ConditionExpression 클래스를 사용하여 조건을 만드는 데 설정할 수 있는 속성이 나와 있습니다.
속성 |
설명 |
---|---|
조건 식에서 특성의 논리적 이름을 지정합니다. |
|
조건 연산자를 지정합니다. 이는 ConditionOperator 열거형을 사용하여 설정됩니다. |
|
특성의 값을 지정합니다. |
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. 저작권 정보