Utilizzare la classe QueryExpression
Data di pubblicazione: gennaio 2017
Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
In Microsoft Dynamics 365 e in Microsoft Dynamics 365 (online) è possibile utilizzare la classe QueryExpression per creare query complesse da utilizzare con il metodo IOrganizationService. RetrieveMultiple o con il messaggio RetrieveMultipleRequest. È possibile impostare i parametri della query su QueryExpression utilizzando le classi ConditionExpressionColumnSet e FilterExpression.
La classe QueryExpression consente di creare query complesse. La classe QueryByAttribute è progettata per fornire un'alternativa semplice per ricercare le entità in cui gli attributi corrispondo ai valori specificati.
Nella tabella seguente sono elencate le proprietà che è possibile impostare per creare un'espressione di query.
Proprietà |
Descrizione |
---|---|
Specifica il tipo di entità che verrà recuperato. Un'espressione di query può recuperare solo una raccolta di un tipo di entità. |
|
Specifica il set di attributi (colonne) da recuperare. |
|
Specifica espressioni di filtro logiche o condizionali complesse che filtrano i risultati della query. |
|
Specifica se i risultati della query contengono record duplicati. |
|
Specifica i collegamenti tra più tipi di entità. |
|
Specifica l'ordine in cui i record vengono restituiti dalla query. |
|
Specifica il numero di pagine e il numero di record per pagina restituiti della query. |
Contare i record
Per individuare il numero di record restituiti dalla query, impostare la proprietà ReturnTotalRecordCount su true prima dell'esecuzione della query. Quando si esegue tale operazione, verrà impostato TotalRecordCount. Altrimenti, questo valore sarà -1.
Esempio
Nell'esempio seguente viene illustrato come utilizzare la classe QueryExpression.
// 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("---------------------------------------");
Vedere anche
QueryExpression
Compilare query con QueryExpression
Utilizzare la classe ColumnSet
Utilizzare la classe ConditionExpression
Utilizzare la classe di FilterExpression
Microsoft Dynamics 365
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright