共用方式為


使用 QueryExpression 類別

 

發行︰ 2017年1月

適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

在 Microsoft Dynamics 365 和 Microsoft Dynamics 365 (線上) 中,您可以使用 QueryExpression 類別來建置複雜的查詢搭配使用 IOrganizationService.RetrieveMultiple 方法或 RetrieveMultipleRequest 訊息。 您可以使用 ConditionExpressionColumnSetFilterExpression 類別,將查詢參數設為 QueryExpression

QueryExpression 類別讓您建立複雜的查詢。QueryByAttribute 類別設計原意即是一種簡單搜尋屬性與指定值相符實體的方式。

下表列出建立查詢運算式時設定的屬性。

屬性

描述

EntityName

指定會擷取的實體類型。 查詢運算式只能擷取實體類型的集合。

ColumnSet

指定擷取屬性組 (資料欄)。

Criteria

指定複雜條件和邏輯篩選運算式的階層,用於篩選查詢的結果。

Distinct

指定查詢的結果是否包含重複的記錄。

LinkEntities

指定多個實體類型之間的連結。

Orders

指定查詢回傳紀錄的順序。

PageInfo

指定頁數和每頁回傳紀錄的數量。

紀錄記數

若要尋找查詢傳回的記錄,請在執行查詢前設定 ReturnTotalRecordCount 屬性為 True。 當您這樣做時,必須設定 TotalRecordCount。 否則,此值將為 -1。

範例

下列範例將示範如何使用 QueryExpression 類別。

//  Query using ConditionExpression and FilterExpression
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("---------------------------------------");

另請參閱

QueryExpression
使用 QueryExpression 建立查詢
使用 ColumnSet 類別
使用 ConditionExpression 類別
使用 FilterExpression 類別

Microsoft Dynamics 365

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權