OData-systemforespørgsler ved hjælp af OData-slutpunkt
Udgivet: november 2016
Gælder for: Dynamics CRM 2015
Du kan indsnævre resultaterne af forespørgslen ved hjælp af systemets forespørgselsindstillinger. Følgende tabel indeholder de forespørgselstrengindstillinger, der er defineret i protokollen OData , der er implementeret i OData slutpunktet for Microsoft Dynamics CRM 2015 og opdatering til Microsoft Dynamics CRM Online 2015.
Indstilling |
Beskrivelse |
---|---|
$expand |
Bestemmer, at relaterede poster skal hentes i den pågældende post eller websteder, der hentes. |
$filter |
Angiver et udtryk eller en funktion, der skal evalueres som sand for en post, der returneres i samlingen. |
$orderby |
Bestemmer, hvilke værdier der bruges til at bestille en samling af poster. |
$select |
Angiver et undersæt af egenskaber, der skal returneres. |
$skip |
Angiver antallet af poster, der skal springes over, før den henter poster i en samling. |
$top |
Bestemmer det maksimale antal poster, der skal returneres. |
$expand
Bestemmer, at relaterede poster skal hentes i den pågældende post eller websteder, der hentes.
Hvis du vil hente relaterede poster, kan du finde navnet på objektrelationen, der definerer dette forhold. Du kan muligvis få vist objektets relationsoplysninger i programmet for korrekt at kunne identificere relationen eller CSDL (conceptual schema definition language) til organisationsdatatjenesten.
For at hente salgsmulighedsposter, der er knyttet til konti, skal du f.eks. bruge opportunity_customer_accounts-objektrelationen. Forespørgslen /AccountSet?$expand=opportunity_customer_accounts returnerer poster med salgsmuligheder og firmaposter.
Hvis du er ved at begrænse de kolonner, der er returneret, skal du også medtage navnet på navigationsegenskaben i forespørgslen. Forespørgslen /AccountSet?$select=Name,opportunity_customer_accounts&$expand=opportunity_customer_accounts returnerer f.eks. kun kontonavnet og de udvidede salgsmulighedsposter.
Microsoft Dynamics CRM 2015 og opdatering til Microsoft Dynamics CRM Online 2015 understøtter ikke forespørgsel af en egenskab i en relation med flere niveauer. Denne forespørgsel, der f.eks. er beregnet til at hente oplysninger om den bruger, der ejer salgsmuligheder, der er knyttet til konti, fungerer ikke: /AccountSet?$expand=opportunity_customer_accounts/opportunity_owning_user.
Du kan definere op til seks relationer, der skal udvides som standard. Denne forespørgsel, der udvider både de salgsmuligheder og den systembruger, som ejer firmaet, fungerer, /AccountSet?$select=Name,opportunity_customer_accounts,user_accounts&$expand=opportunity_customer_accounts,user_accounts.
Bemærk
Antallet af relaterede poster, der returneres, er underlagt samme begrænsning på antallet af returnerede poster. Du kan finde flere oplysninger under Begrænsninger på antallet af returnerede poster. Du kan øge antallet af relationer for at udvide ved at ændre ServerSettingsMaxExpandCount-værdien i indstillingen.
Flere oplysninger:OData: Filter System forespørgselsindstillingen ($expand)
$filter
Angiver et udtryk eller en funktion, der skal evalueres til true for en post, der returneres i samlingen.
Hvis du henter flere sæt af data ved hjælp af linket next, bør du ikke ændre $filter forespørgselsværdien, da det medfører uforudsigelige resultater.
OData-specifikationen for forespørgselsindstillingen Filter System beskriver operatorer, der bruges til at oprette et udtryk, der skal evalueres i filteret.Microsoft Dynamics 365 bruger alle de logiske operatorer og et undersæt af de tilgængelige funktioner, men understøtter ikke brugen af aritmetiske operatorer. Filtre kan bruge grupperede betingelser, der er angivet i parentes. Sammenligning af værdier for tid skal bruge følgende format: datetime’<time value>’, for eksempel datetime'2010-07-15' eller datetime'2010-07-15T16:19:54Z'.
Følgende tabel viser de operatorer, der understøttes af Microsoft Dynamics 365.
Operatør |
Beskrivelse |
Eksempel |
---|---|---|
eq |
Er lig med |
/AccountSet?$filter=Address1_City eq 'Redmond' |
ne |
Er ikke lig med |
/AccountSet?$filter=Address1_City ne null |
gt |
Større end |
/AccountSet?$filter=CreditLimit/Value gt 1000 |
ge |
Større end eller lig med |
/AccountSet?&$filter=CreditLimit/Value ge 1000 |
Lt |
Mindre end |
/AccountSet?$filter=CreditLimit/Value lt 1000 |
le |
Mindre end eller lig med |
/AccountSet?$filter=CreditLimit/Value le 1000 |
and |
Logisk og |
/AccountSet?$filter=CreditLimit/Value ge 1000 and Address1_StateOrProvince eq 'TX' |
or |
Logisk eller |
/AccountSet?$filter=AccountCategoryCode/Value eq 2 or AccountRatingCode/Value eq 1 |
not |
Logisk Negation |
/AccountSet?$filter=(AccountCategoryCode/Value ne null) and not (AccountCategoryCode/Value eq 1) |
Du kan bruge $filter forespørgselsindstillingen til at filtrere for værdien af en EntityReference attribut. Hvis du f.eks. har Id værdien for en SystemUser post, kan du hente en liste over alle de firmaposter, der er tildelt en bruger ved hjælp af følgende filter:
/AccountSet?$filter=OwnerId/Id eq (guid'" + SystemUserId + "')
Følgende tabel viser de funktioner, der understøttes af Microsoft Dynamics 365.
Funktion |
Eksempel |
---|---|
startswith |
/AccountSet?$filter=startswith(Name, 'a') |
substringof |
/AccountSet?$filter=substringof('store',Name) |
endswith |
/AccountSet?$filter=endswith(Name, '(sample)') |
Flere oplysninger:OData: Filter System forespørgselsindstillingen ($filter)
$orderby
Bestemmer, hvilke værdier der bruges til at bestille en samling af poster. Indstillingen er som standard stigende. Brug desc til at bytte om på rækkefølgen eller asc til eksplicit at angive en standardværdi.
Hvis du henter flere sæt af data ved hjælp af linket next, du bør ikke ændre $orderby forespørgselsværdien, da det medfører uforudsigelige resultater.
Bemærk
Du kan vælge op til 12 kolonner ved hjælp af $orderby.
Ved bestilling af komplekse typer, som EntityReference eller OptionSetValue, skal attributnavnet angives. For at sortere efter f.eks. den primære kontaktperson for en konto skal du bruge forespørgslen $orderby=PrimaryContactId. Angivelse af $orderby=PrimaryContactId/Name giver dig en forkert anmodning HTTP fejl (HTTP fejlkode 400).
Følgende eksempel viser en liste over firmaposter efter land i stigende rækkefølge og efter by i faldende rækkefølge:
/AccountSet?$select=Address1_Country,Address1_City,Name&$orderby=Address1_Country,Address1_City desc&$filter=(Address1_Country ne null) and (Address1_City ne null)
Flere oplysninger:OData: Filter System forespørgselsindstillingen ($orderby)
$select
Angiver et undersæt af egenskaber til at returnere og den rækkefølge, hvori kolonner med data bliver struktureret. Standarden er at returnere alle kolonner, der svarer til $select=*.
Hvis du bruger $expand for at medtage relaterede data, og du bruger $select for at begrænse de kolonner, der er returneret, skal du også medtage navnet på egenskaben navigation i forespørgslen. Følgende forespørgsel /AccountSet?$select=Name,opportunity_customer_accounts&$expand=opportunity_customer_accounts returnerer f.eks. kun kontonavnet og de udvidede salgsmulighedsposter.
Bemærk
Der er en maksimale stilængde 2048 tegn for POST og GET anmodninger i Internet Explorer. Du kan nemt nå denne grænse, hvis du skulle inkludere hver attribut i kontoenheden i $select indstillingen. Du kan finde flere oplysninger i Microsoft KB 208427.
Flere oplysninger:OData: Filter System forespørgselsindstillingen ($select)
$skip
Angiver antallet af poster, der skal springes over, før der hentes poster i en samling.
Hvis du henter flere sæt af data ved hjælp af linket next, bør du ikke ændre $skip forespørgselsværdien, da det medfører uforudsigelige resultater.
Flere oplysninger:OData: Filter System forespørgselsindstillingen ($skip)
$top
Bestemmer det maksimale antal poster, der skal returneres.
Hvis du henter flere sæt af data ved hjælp af linket next, bør du ikke ændre $top forespørgselsværdien, da det vil medføre uforudsigelige resultater.
Flere oplysninger:OData: Filter System forespørgselsindstillingen ($stop)
Ikke-understøttet systemforespørgselsindstillinger
Microsoft Dynamics CRM 2015 og opdatering til Microsoft Dynamics CRM Online 2015 understøtter ikke brug af følgende forespørgsler til systemet:
$inlinecount
$count
$format
Se også
Forespørge på Microsoft Dynamics CRM 2015-data ved hjælp af OData-slutpunkt
OData: URI konventioner
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret