Erstellen von Abfragen mit QueryExpression
Veröffentlicht: Januar 2017
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
In Microsoft Dynamics 365 (online und lokal) können Sie die Klasse QueryExpression zum programmgesteuerten Erstellen einer Abfrage verwenden, die Datenfilter und Suchbedingungen enthält, die den Umfang einer Datenbanksuche definieren. Ein Abfrageausdruck wird für Einzelobjektsuchen verwendet. Beispielsweise können Sie eine Suche erstellen, um alle Firmen zurückzugeben, die bestimmten Suchkriterien entsprechen. Die Klasse QueryBase ist die Basisklasse für Abfrageausdrücke. Es gibt zwei abgeleitete Klassen: QueryExpression und QueryByAttribute. Die Klasse QueryExpression unterstützt komplexe Abfragen. Die Klasse QueryByAttribute ist eine einfache Möglichkeit, um nach Entitäten zu suchen, bei denen Attribute mit angegebenen Werten übereinstimmen.
Abfrageausdrücke werden in Methoden verwendet, die mehr als einen Datensatz abrufen, wie beispielsweise die Methode IOrganizationService.RetrieveMultiple, in Meldungen, die einen Vorgang an einer von einem Abfrageausdruck angegebenen Ergebnismenge ausführen, wie beispielsweise BulkDeleteRequest und wenn die ID für einen bestimmten Datensatz nicht bekannt ist.
Darüber hinaus gibt es ein neues Attribut für die Organisationsentität, Organization.QuickFindRecordLimitEnabled. Wenn dieses Boolean Attribut true ist, wird Abfragen für die Schnellsuche ein Limit auferlegt. Wenn ein Benutzer bei der Schnellsuche Suchkriterien angibt, die nicht selektiv genug sind, wird dies vom System erkannt und die Suche wird beendet. Dies unterstützt eine schnellere Form der Schnellsuche und kann einen großen Leistungsunterschied ausmachen.
Warnung
Rufen Sie nicht alle Attribute in einer Abfrage ab, da dadurch die Leistung beeinträchtigt wird. Das trifft insbesondere zu, wenn die Abfrage als Parameter in einer Updateanforderung verwendet wird. Wenn in einem Update alle Attribute enthalten sind, werden dadurch alle Feldwerte festgelegt, selbst wenn sie unverändert sind, und häufig werden kaskadierende Updates zu untergeordneten Datensätzen ausgelöst.
Es gibt zwei weitere Möglichkeiten, Abfragen zu erstellen, um Datensätze aus Microsoft Dynamics 365 abzurufen.FetchXML, die herstellereigene Microsoft Dynamics 365-Abfragesprache, kann verwendet werden, um einige Abfragen auszuführen, indem XML-basierte Abfragen verwendet werden. Weitere Informationen finden Sie unter Abfragen erstellen mit FetchXML. Sie können auch .NET Language-Integrated Query (LINQ) verwenden, um Abfragen zu schreiben.Weitere Informationen:Erstellen von Abfragen mit LINQ (.NET language-integrated query).
Um eine Abfrage zu speichern, können Sie sie in FetchXML konvertieren, indem Sie QueryExpressionToFetchXmlRequest verwenden und mithilfe der userquery-Entität als gespeicherte Ansicht speichern.
In diesem Abschnitt
Verwenden der QueryByAttribute-Klasse
Verwenden der QueryExpression-Klasse
Verwenden der ColumnSet-Klasse
Verwenden der ConditionExpression-Klasse
Die FilterExpression-Klasse verwenden
Auslagern von umfangreichen Ergebnissätzen mit QueryExpression
Beispiel: Abrufen bei 1: n-Beziehung
Beispiel: Abruf von Vielfachen mit der QueryByAttribute-Klasse
Beispiel: Rufen Sie mit der QueryExpressions-Klasse Vielfaches ab
Beispiel: Verwenden von QueryExpression mit einem Auslagerungscookie
Referenz
Siehe auch
Beispiel: Konvertieren von Abfragen zwischen Fetch und QueryExpression
Microsoft Dynamics 365
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright