使用 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 訊息。 您可以使用 ConditionExpression、ColumnSet 和 FilterExpression 類別,將查詢參數設為 QueryExpression。
QueryExpression 類別讓您建立複雜的查詢。QueryByAttribute 類別設計原意即是一種簡單搜尋屬性與指定值相符實體的方式。
下表列出建立查詢運算式時設定的屬性。
屬性 |
描述 |
---|---|
指定會擷取的實體類型。 查詢運算式只能擷取實體類型的集合。 |
|
指定擷取屬性組 (資料欄)。 |
|
指定複雜條件和邏輯篩選運算式的階層,用於篩選查詢的結果。 |
|
指定查詢的結果是否包含重複的記錄。 |
|
指定多個實體類型之間的連結。 |
|
指定查詢回傳紀錄的順序。 |
|
指定頁數和每頁回傳紀錄的數量。 |
紀錄記數
若要尋找查詢傳回的記錄,請在執行查詢前設定 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. 著作權所有,並保留一切權利。 著作權