Del via


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