Compilare query con 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 (online e locale), è possibile utilizzare la classe QueryExpression per compilare una query a livello di programmazione contenente i filtri dei dati e le condizioni di ricerca che definiscono l'ambito di una ricerca del database. Un'espressione di query viene utilizzata per le ricerche di singoli oggetti. Ad esempio, è possibile creare una ricerca per restituire tutti gli account che soddisfano determinati criteri di ricerca. La classe QueryBase è la classe di base per le espressioni di query. Esistono due classi derivate: QueryExpression e QueryByAttribute. La classe QueryExpression supporta query complesse. La classe QueryByAttribute costituisce un metodo semplice per cercare le entità in cui gli attributi corrispondo ai valori specificati.

Le espressioni di query vengono utilizzate nei metodi che recuperano più di un record, ad esempio il metodo IOrganizationService.RetrieveMultiple, nei messaggi che eseguono un'operazione su un set di risultati specificato da un'espressione di query, ad esempio BulkDeleteRequest e quando non è noto l'ID per un record specifico.

Inoltre, è disponibile un nuovo attributo nell'entità dell'organizzazione Organization.QuickFindRecordLimitEnabled. Quando questo attributo Boolean è true, viene imposto un limite sulle query di ricerca rapida. Se un utente in una ricerca rapida specifica criteri di ricerca non abbastanza selettivi, il sistema rileva ciò e interrompe la ricerca. Supporta una forma più veloce di ricerca rapida e può fare una grossa differenza per quanto riguarda le prestazioni.

Avviso

Non recuperare tutti gli attributi in una query altrimenti le prestazioni potrebbero risentirne. Ciò vale soprattutto se la query viene utilizzata come parametro di una richiesta di aggiornamento. In un aggiornamento, se tutti gli attributi vengono inclusi, vengono impostati i valori di tutti i campi, anche se sono invariati, e si generano spesso degli aggiornamenti a cascata nei record figlio.

Sono disponibili due metodi aggiuntivi per creare query per recuperare i record di Microsoft Dynamics 365.FetchXML, il linguaggio di query proprietario di Microsoft Dynamics 365, consente di eseguire alcune query utilizzando le query basate su XML. Per ulteriori informazioni, vedere Creare query con FetchXML. È inoltre possibile utilizzare .NET Language Integrated Query (LINQ) per scrivere query.Ulteriori informazioni:Creare query con LINQ (.NET language-integrated query).

Per salvare una query, è possibile convertirla in FetchXML utilizzando QueryExpressionToFetchXmlRequest e salvandola come una visualizzazione salvata utilizzando l'entità userquery.

In questa sezione

Utilizzare la classe QueryByAttribute

Utilizzare la classe QueryExpression

Utilizzare la classe ColumnSet

Utilizzare la classe ConditionExpression

Utilizzare la classe di FilterExpression

Utilizzare un left outer join in QueryExpression per eseguire query per i record "non contenuti" in un set

Test per un valore null

Set di risultati di grandi dimensioni della pagina con QueryExpression

Esempio: Recuperare con una relazione uno-a-molti

Esempio: recuperare più elementi con la classe QueryByAttribute

Esempio: Recuperare multipli con la classe QueryExpression

Esempio: utilizzare QueryExpressione con un cookie di paging

Riferimento

QueryBase

QueryExpression

QueryByAttribute

RetrieveMultiple

ColumnSet

ConditionExpression

FilterExpression

PagingCookie

Vedere anche

Esempio: convertire le query tra Fetch e QueryExpression

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright