Freigeben über


Verwenden der QueryExpression-Klasse

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

In Microsoft Dynamics 365 und Microsoft Dynamics 365 (online) können Sie die QueryExpression-Klasse verwenden, um komplexe Abfragen für die IOrganizationService-Methode RetrieveMultiple oder die RetrieveMultipleRequest-Meldung zu verwenden. Sie können Abfrageparameter für QueryExpression, einrichten, indem Sie die Klassen ConditionExpression,i ColumnSet und FilterExpression verwenden.

Die QueryExpression-Klasse ermöglicht Ihnen, komplexe Abfragen zu erstellen. Die Klasse QueryByAttribute ist eine einfache Möglichkeit, um nach Entitäten zu suchen, bei denen Attribute mit angegebenen Werten übereinstimmen.

In der folgenden Tabelle sind die Eigenschaften aufgelistet, die Sie festlegen können, um einen Abfrageausdruck zu erstellen.

Eigenschaft

Beschreibung

EntityName

Gibt an, welcher Typ von Entität abgerufen wird. Ein Abfrageausdruck kann nur eine Sammlung eines Entitätstyps abrufen.

ColumnSet

Gibt den Satz von Attributen (Spalten) für den Abruf an.

Criteria

Gibt komplexe bedingte und logische Filterausdrücke an, oder legt diese fest, die die Ergebnisse der Abfrage filtern.

Distinct

Gibt an, ob die Suchergebnisse der Abfrage doppelte Datensätze enthalten.

LinkEntities

Gibt die Links zwischen mehreren Entitätstypen an.

Orders

Gibt die Reihenfolge an, in der die Datensätze von der Abfrage zurückgegeben werden.

PageInfo

Gibt die Anzahl von Seiten und die Anzahl der Datensätze pro Seite an, die von der Abfrage zurückgegeben werden.

Anzahl der Datensätze

Um festzustellen wie viele Datensätze eine Abfrage zurückgab legen Sie die Eigenschaft ReturnTotalRecordCount auf "true" fest, bevor Sie die Abfrage ausführen. Daraufhin wird TotalRecordCount festgelegt. Andernfalls ist dieser Wert -1.

Beispiel

Im folgenden Beispiel wird gezeigt, wie die QueryExpression-Klasse verwendet wird.

//  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("---------------------------------------");

Siehe auch

QueryExpression
Erstellen von Abfragen mit QueryExpression
Verwenden der ColumnSet-Klasse
Verwenden der ConditionExpression-Klasse
Die FilterExpression-Klasse verwenden

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright