Share via


Bouw query's met QueryExpression

 

Gepubliceerd: januari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

In Microsoft Dynamics 365 (online en on-premises) kunt u de klasse QueryExpression ook gebruiken om met programmering een query te maken met gegevensfilters en zoekvoorwaarden die het bereik van een databasezoekactie definiëren. Een query-expressie wordt gebruikt voor enkel-objectzoekacties. Bijvoorbeeld, u kunt een zoekactie maken om alle accounts te vinden die met specifieke zoekcriteria overeenkomen. De klasse QueryBase is de basisklasse voor query-expressies. Er zijn twee afgeleide klassen: QueryExpression en QueryByAttribute. De klasse QueryExpression ondersteunt complexe query's. De klasse QueryByAttribute is een eenvoudige manier om entiteiten te zoeken waarbij de kenmerken met opgegeven waarden overeenkomen.

De query-expressies worden gebruikt bij methodes voor het ophalen van meerdere records, zoals de IOrganizationService.RetrieveMultiple methode, in berichten die een bewerking uitvoeren op een door een query-expressie gespecificeerde resultatenreeks, zoals BulkDeleteRequest en als de ID voor een specifiek record niet bekend is.

Bovendien is er een nieuw kenmerk op de organisatieentiteit, Organization.QuickFindRecordLimitEnabled. Wanneer dit Boolean kenmerk true is, wordt een limiet ingesteld op snelzoekquery's. Als een gebruiker zoekcriteria in snel zoeken invoert die niet selectief genoeg zijn, detecteert het systeem dit en stopt de zoekactie. Dit ondersteunt een snellere manier van snel zoeken en kan een groot prestatieverschil maken.

System_CAPS_warningWaarschuwing

Haal niet alle kenmerken in a query op vanwege de negatieve gevolgen op prestaties. Dit is vooral waar als de query wordt gebruikt als een parameter voor een updateaanvraag. Dit stelt alle veldwaarden in in een update als alle kenmerken zijn opgenomen, ook als ze niet zijn gewijzigd, en activeert vaak trapsgewijze updates op onderliggende records.

Er zijn twee aanvullende manieren om query's te maken om records op te halen van Microsoft Dynamics 365.FetchXML, de gebruikte Microsoft Dynamics 365 querytaal, kan worden gebruikt om sommige query's uit te voeren door op XML-Gebaseerde query's te gebruiken. Zie Bouw query's met FetchXML voor meer informatie. U kunt ook de .NET Language-Integrated Query (LINQ) gebruiken om query's te schrijven.Meer informatie:Query's maken met LINQ (.NET Language Integrated Query).

Als u een query wilt opslaan, kunt u deze converteren naar FetchXML met QueryExpressionToFetchXmlRequest en deze opslaan als een opgeslagen weergave door gebruik van de userquery entiteit.

In deze sectie

De klasse QueryByAttribute gebruiken

De klasse QueryExpression gebruiken

Gebruik de ColumnSet-klasse

De klasse ConditionExpression gebruiken

De klasse FilterExpression gebruiken

Gebruik een left outer join in QueryExpression voor het uitvoeren van query's voor records "niet in"

Testen op een nulwaarde

Paging op grote resultaatsets toepassen met QueryExpression

Voorbeeld: Ophalen met een-op-veel-relatie

Voorbeeld: Meerdere ophalen met de QueryByAttribute-klasse

Voorbeeld: Meerdere ophalen met de QueryExpression-klasse

Voorbeeld: QueryExpression gebruiken met een paging-cookie

Referentie

QueryBase

QueryExpression

QueryByAttribute

RetrieveMultiple

ColumnSet

ConditionExpression

FilterExpression

PagingCookie

Zie ook

Voorbeeld: Query's converteren tussen QueryExpression en Fetch

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht