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 |
---|---|
Gibt an, welcher Typ von Entität abgerufen wird. Ein Abfrageausdruck kann nur eine Sammlung eines Entitätstyps abrufen. |
|
Gibt den Satz von Attributen (Spalten) für den Abruf an. |
|
Gibt komplexe bedingte und logische Filterausdrücke an, oder legt diese fest, die die Ergebnisse der Abfrage filtern. |
|
Gibt an, ob die Suchergebnisse der Abfrage doppelte Datensätze enthalten. |
|
Gibt die Links zwischen mehreren Entitätstypen an. |
|
Gibt die Reihenfolge an, in der die Datensätze von der Abfrage zurückgegeben werden. |
|
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