Delen via


De klasse QueryExpression gebruiken

 

Gepubliceerd: januari 2017

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

In Microsoft Dynamics 365 en Microsoft Dynamics 365 (online) kunt u de QueryExpression-klasse gebruiken om complexe query's te maken voor gebruik met IOrganizationService.RetrieveMultiple-methode of het RetrieveMultipleRequest-bericht. U kunt queryparameters instellen op QueryExpression met behulp van de klassen ConditionExpression, ColumnSet en FilterExpression.

Met de QueryExpression-klasse kunt u complexe query's maken. De klasse QueryByAttribute is een eenvoudige manier om entiteiten te zoeken waarbij de kenmerken met opgegeven waarden overeenkomen.

De volgende tabel bevat de eigenschappen die u instelt om een query-expressie te maken.

Eigenschap

Beschrijving

EntityName

Bepaalt welk type entiteit wordt opgehaald. Een query-expressie kan alleen een verzameling van één entiteitstype ophalen.

ColumnSet

Geeft de set kenmerken (kolommen) op die moeten worden opgehaald.

Criteria

Geeft complexe voorwaardefilterexpressies en logische filterexpressies op die de resultaten van de query filteren.

Distinct

Geeft aan of de resultaten van de query dubbele records bevatten.

LinkEntities

Geeft de koppelingen aan tussen meerdere entiteittypen.

Orders

Geeft de volgorde waarin de records uit de query worden geretourneerd.

PageInfo

Geeft het aantal pagina's en het aantal records per pagina op dat door de query wordt geretourneerd.

Recordtelling

Om u te zien hoeveel records de query heeft geretourneerd, stelt u de eigenschap ReturnTotalRecordCount in op "true" om de query uit te voeren. Als u dit doet, wordt TotalRecordCount ingesteld. Anders wordt deze waarde -1.

Voorbeeld

In het volgende voorbeeld ziet u hoe u een QueryExpression-klasse gebruikt.

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

Zie ook

QueryExpression
Bouw query's met QueryExpression
Gebruik de ColumnSet-klasse
De klasse ConditionExpression gebruiken
De klasse FilterExpression gebruiken

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht