使用 ConditionExpression 類別
發行︰ 2017年1月
適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
在 Microsoft Dynamics 365 (線上和內部部署) 中,您可以使用 ConditionExpression 類別搭配使用運算子 (例如「等於」或「大於」) 將屬性與一個值或一組值做比較。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. 著作權所有,並保留一切權利。 著作權