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 |
---|---|
Bepaalt welk type entiteit wordt opgehaald. Een query-expressie kan alleen een verzameling van één entiteitstype ophalen. |
|
Geeft de set kenmerken (kolommen) op die moeten worden opgehaald. |
|
Geeft complexe voorwaardefilterexpressies en logische filterexpressies op die de resultaten van de query filteren. |
|
Geeft aan of de resultaten van de query dubbele records bevatten. |
|
Geeft de koppelingen aan tussen meerdere entiteittypen. |
|
Geeft de volgorde waarin de records uit de query worden geretourneerd. |
|
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