Del via


Forespørge på Microsoft Dynamics CRM 2015-data ved hjælp af OData-slutpunkt

 

Udgivet: november 2016

Gælder for: Dynamics CRM 2015

Du kan finde og hente data med OData-slutpunktet ved at manipulere med URI. Alle handlinger kræver, at du begynder med servicens rod-URI. I Microsoft Dynamics CRM 2015 og opdatering til Microsoft Dynamics CRM Online 2015 er servicerodens URI i det følgende eksempel.

[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc

Bemærk

Organisationens rod-URL skal omfatte navnet på organisationen. Referer til serviceroden ved hjælp af getClientUrl-funktionen i kontekstobjektet. Hvis en webressource skal have en formular som vært, kan du referere til Xrm.Page.context ved at kalde getClientUrl. Ellers skal du medtage en reference til siden ClientGlobalContext.js.aspx, så du kan bruge GetGlobalContext-funktion til at få kontekstobjektet.

Fra servicerodens URI kan du identificere bestemte ressourcer ved hjælp af en ressourcesti og finjustere din forespørgsel ved hjælp af systemets indstillinger for forespørgsel.

Dette emne indeholder

Adgang til Microsoft Dynamics CRM-enhedsdata

Begrænsninger på antallet af returnerede poster

Objektegenskaber

Microsoft Dynamics CRM komplekse typer

  • EntityReference

  • OptionSetValue

  • Penge

  • BooleanManagedProperty

Relaterede objekter

Adgang til Microsoft Dynamics CRM-enhedsdata

Hvert Microsoft Dynamics 365-objekt repræsenteres i det grundlæggende skemadefinitionssprog (CSDL) som en samling ved hjælp af objektet <EntitySet>. Navnet på hver samling følger navngivningskonventionen for [objektskemanavn] + Set. Dette navn bruges i URL til at få adgang til en samling af objektposter. En liste over alle tilgængelige samlinger vises, når du får vist serviceroden URI. Hvis du vil oprette en forespørgsel, skal du føje kriterier til ressourcestien.

For eksempel kan du i din browser få vist ATOM-firmaobjektposterne (kaldet "objekter") med stien i følgende eksempel.

[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/AccountSet

Når du får vist listen over firmaposter, kan du se, hvordan hver af dem kan refereres enkeltvist ved at bruge URL-syntaksen i følgende eksempel.

[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/AccountSet(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')

Bemærk

For at få vist dataene i Internet Explorer skal du først kontrollere, at Internet Explorer ikke er aktiveret til RSS-feeds-format. Under fanen Indhold i Internetindstillinger. vælg Indstillinger i gruppen Feeds og Web Slices. Klik for at fjerne markeringen af Slå feed-læseruden til-indstillingen. Luk og åbn Internet Explorer igen.

Begrænsninger på antallet af returnerede poster

Hver gang du henter poster, returneres kun de øverste 50 poster i forespørgslen. Hvis der er mere end 50 poster, vil der være en <link rel="next" href="<url to next set of records>" >-node i XML- eller JSON**__next**-egenskaben i slutningen af resultatsættet. Du kan bruge URL-værdien i den pågældende node eller egenskab til at fortsætte med det næste sæt poster. URL-adressen indeholder en $skiptoken-parameter, som indeholder oplysninger om grænsen for sideinddeling.

For at hente flere poster skal du oprette en metode, som registrerer tilstedeværelsen af denne node eller egenskab, og bruge den URL-adresse, der er angivet, for at hente det næste sæt poster. Du kan finde flere oplysninger i: Eksempel: Hent flere poster ved hjælp af OData-slutpunktet med JavaScript,

Objektegenskaber

Hvert grundlæggende skemadefinitionssprogs (CSDL) <EntitySet> refererer til et <EntityType>-element, der beskriver egenskaberne og relationerne for et objekt. Inden for <EntityType>-elementerne svarer < Egenskab>-elementerne til Microsoft Dynamics 365-objektattributter. Hver egenskab er tildelt en datatype, der svarer til en af de primitive EDM (Entity Data Model)-datatyper eller en <ComplexType>, der er defineret specifikt for Microsoft Dynamics 365. I tabellen nedenfor vises datatyperne.

OData-type

Microsoft Dynamics 365-datatype

Edm.Boolean

Boolean

Edm.DateTime

DateTime

Edm.Decimal

Decimal

Edm.Double

Double

Edm.Guid

UniqueIdentifier

Edm.Int32

Integer

Edm.Int64

BigInt

Edm.String

String
EntityName

Microsoft.Crm.Sdk.Data.Services.EntityReference

EntityReference
CustomerOwner

Microsoft.Crm.Sdk.Data.Services.OptionSetValue

OptionSetValue
State
Status

Microsoft.Crm.Sdk.Data.Services.Penge

Money

Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty

BooleanManagedProperty

Microsoft Dynamics CRM komplekse typer

Bestemte datatyper, der bruges af Microsoft Dynamics 365, kan ikke bruge de simple EDM-datatyper.

Bemærk

Når du vil angive komplekse typeværdier i Microsoft Dynamics 365 til null, skal du indstille alle egenskaber for den komplekse type til null. Du kan finde flere oplysninger under Angive komplekse typer til null.

EntityReference

Typen Microsoft.Crm.Sdk.Data.Services.EntityReference repræsenterer et opslag. Den svarer til EntityReference. Følgende tabel viser de egenskaber.

Navn

Skriv

Beskrivelse

Id

GUID

Det entydige id for den post, der er forbundet i opslaget.

LogicalName

String

Navnet på objektet.

Name

String

Værdien af den primære attribut for den post, der er forbundet i opslaget.

Følgende eksempel er en ATOM XML-EntityReference:

<d:PrimaryContactId m:type="Microsoft.Crm.Sdk.Data.Services.EntityReference">
   <d:Id m:type="Edm.Guid">76713858-5e81-df11-afdb-00155dba380a</d:Id>
   <d:LogicalName>contact</d:LogicalName> 
   <d:Name>Cat Francis (sample)</d:Name> 
</d:PrimaryContactId>

Følgende eksempel er en JSON-EntityReference:

"PrimaryContactId" :{
    "__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.EntityReference" },
    "Id": "78713858-5e81-df11-afdb-00155dba380a",
    "LogicalName": "contact",
    "Name": "Cathan Cook (sample)"}

OptionSetValue

Typen Microsoft.Crm.Sdk.Data.Services.OptionSetValue repræsenterer en valglisteattribut. Den svarer til OptionSetValue. I følgende tabel vises egenskaber.

Navn

Skriv

Beskrivelse

Value

Number

Den valgte værdi af OptionSet-attributten.

Følgende eksempel er et ATOMXMLOptionSetValue.

<d:PreferredContactMethodCode m:type="Microsoft.Crm.Sdk.Data.Services.OptionSetValue">
   <d:Value m:type="Edm.Int32">1</d:Value>
</d:PreferredContactMethodCode>

Følgende eksempel er en JSON-OptionSetValue:

"PreferredContactMethodCode" :{
    "__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.OptionSetValue" },
    "Value": 1}

Penge

Typen Microsoft.Crm.Sdk.Data.Services.Money repræsenterer en pengeattribut. Den svarer til Money. Følgende tabel viser egenskaberne.

Navn

Skriv

Beskrivelse

Value

Number

Pengebeløbet.

Følgende eksempel er et ATOMXMLMoney.

<d:CreditLimit m:type="Microsoft.Crm.Sdk.Data.Services.Money">
  <d:Value m:type="Edm.Decimal">500.0000</d:Value> 
</d:CreditLimit>

Følgende eksempel er en JSON-Money:

"CreditLimit" :{
    "__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.Money" },
    "Value": 500.0000}

BooleanManagedProperty

Visse organisationsejede objekter har poster, der kan inkluderes i en løsning, for eksempel WebResource. Administrerede egenskaber kan f.eks. være IsCustomizable, IsHidden og CanBeDeleted. Det svarer til BooleanManagedProperty. Disse Boolean-egenskaber styrer funktionaliteten af komponenter i en administreret løsning. Du kan finde flere oplysninger under Brug administrerede egenskaber. I følgende tabel vises BooleanManagedProperty.

Navn

Skriv

Beskrivelse

Value

Boolean

Angiver, om den administrerede egenskab er i kraft.

CanBeChanged

Boolean

Angiver, om værdien af den administrerede egenskab kan ændres.

ManagedPropertyLogicalName

String

Angiver navnet på den administrerede egenskab.

Denne egenskab er skrivebeskyttet.

Følgende eksempel er et ATOMXMLBooleanManagedProperty.

<d:IsCustomizable m:type="Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty">
  <d:Value m:type="Edm.Boolean">true</d:Value>
   <d:CanBeChanged m:type="Edm.Boolean">true</d:CanBeChanged>
   <d:ManagedPropertyLogicalName>iscustomizableanddeletable</d:ManagedPropertyLogicalName>   
</d:IsCustomizable>

Følgende eksempel er en JSON-BooleanManagedProperty:

"IsCustomizable" :{
    "__metadata": { "type": "Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty" },
    "CanBeChanged": true,
    "ManagedPropertyLogicalName": "iscustomizableanddeletable",
    "Value": true}

Relaterede objekter

Det grundlæggende skemadefinitionssprogs (CSDL) <NavigationProperty>-element omfatter alle 1:N- og N:N-relationer for objektet. Hvis relationen repræsenterer en relation, der refererer til sig selv, vil der være to <NavigationProperty>-elementer for denne relation. Navnet på relationen bruger præfikset Referenced og Referencing til at angive den rolle, som en bestemt post spiller i relationen. Du kan finde flere oplysninger under Typer af objektrelationer.

Brug <NavigationProperty>, når du vil oprette en forespørgsel for at hente relaterede poster. Hvis du i eksemplet nedenfor vil hente en liste over salgsmuligheder, hvor et bestemt firma er kunden, bruges opportunity_customer_accounts-objektrelationen i forbindelse med et bestemt firma:

/AccountSet(guid'[GUID value]')/opportunity_customer_accounts

Hvis du kun har brug for URL-adresser til relaterede poster, kan du bruge $links-forespørgselsindstillingen som i følgende eksempel.

/AccountSet(guid'[GUID value]')/$links/opportunity_customer_accounts

Dette returnerer kun URL-adresser til data for hver relateret post. Resultaterne, der vises i browseren, ligner følgende eksempel.

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<links xmlns="https://schemas.microsoft.com/ado/2007/08/dataservices">
   <uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'a6713858-5e81-df11-afdb-00155dba380a')</uri>
   <uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'1224342F-D024-4B47-A3F5-FB22D236E655')</uri>
   <uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'7AF675A8-4FBE-42E7-8279-C32605D2B49B')</uri>
   <uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'2DD9BA88-2A37-4F53-8946-68ABBDC73FC1')</uri>
</links>

Hvis du vil medtage data fra de relaterede poster, når du henter en post, skal du bruge $expand-systemforespørgselsindstillingen.

Se også

Brug OData-slutpunktet med webressourcer
OData-systemforespørgsler ved hjælp af OData-slutpunkt
Udfør grundlæggende datahandlinger, der bruger OData-slutpunkt
Udføre yderligere datahandlinger, der bruger OData-slutpunkt
Brug OData-slutpunktet med Ajax og JScript-webressourcer
Eksempel: Oprette, hente, opdatere og slette ved hjælp af OData-slutpunktet med JavaScript og jQuery
Eksempel: Oprette, hente, opdatere og slette vha. OData-slutpunktet med JavaScript
Eksempel: JQuery-kontakteditor for OData-slutpunkt
OData (Open Data Protocol)
Teknisk artikel: Brug af grupperede indstillinger sammen med slutpunktet REST – JScript

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret