Query's op Microsoft Dynamics CRM 2015-gegevens uitvoeren met het OData-eindpunt

 

Gepubliceerd: november 2016

Is van toepassing op: Dynamics CRM 2015

Als u gegevens met het OData-eindpunt wilt zoeken en ophalen, bewerkt u URI. Alle bewerkingen vereisen dat u met de servicehoofdmap URI begint. In Microsoft Dynamics CRM 2015 en Microsoft Dynamics CRM Online 2015 Update is de servicehoofdmap URI in het volgende voorbeeld.

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

Notitie

De organisatiehoofdmap URL moet de organisatienaam bevatten. Verwijs naar de servicehoofdmap door de getClientUrl-functie in het contextobject te gebruiken. Als een webresource in een formulier wordt gehost, kunt u naar Xrm.Page.context verwijzen om getClientUrl te bellen. Anders moet u een verwijzing naar de pagina ClientGlobalContext.js.aspx opnemen zodat u Functie GetGlobalContext kunt gebruiken om het contextobject te gebruiken.

Vanuit de servicehoofdmap kunt URI u specifieke resources identificeren met een resourcepad en uw query verder verfijnen met opties voor systeemquery's.

In dit onderwerp

Toegang verkrijgen toe Microsoft Dynamics CRM-entiteitsgegevens

Beperkingen op aantal geretourneerde records

Entiteitseigenschappen

Complexe typen in Microsoft Dynamics CRM

  • EntityReference

  • OptionSetValue

  • Geld

  • BooleanManagedProperty

Verwante entiteiten

Toegang verkrijgen toe Microsoft Dynamics CRM-entiteitsgegevens

Elke Microsoft Dynamics 365-entiteit wordt weergegeven in de conceptuele schemadefinitietaal (CSDL) als een verzameling met behulp van het <EntitySet>-element. De naam van elke verzameling volgt de naamconventie [Entiteitsschemanaam]+ Set. Deze naam wordt gebruikt in URL voor toegang tot een verzameling entiteitsrecords. Een lijst met alle beschikbare verzamelingen wordt weergegeven als u de servicehoofdmap URI bekijkt. Als u een query wilt maken, kunt u de criteria aan het resourcepad toevoegen.

In uw browser kunt u bijvoorbeeld de ATOM-accountentiteitsrecords (met de naam "entiteiten") weergeven met behulp van het pad in het volgende voorbeeld.

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

Nadat u de lijst met accountrecords hebt weergegeven, kunt u zien hoe naar elk van deze records individueel kunt verwijzen met de URL-syntaxis in het volgende voorbeeld.

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

Notitie

Als u de gegevens in Internet Explorer wilt bekijken, moet u er eerst voor zorgen dat Internet Explorer niet is ingeschakeld om RSS-feeds op te maken. In het tabblad Inhoud van Internetopties selecteer Instellingen in de groep Feeds en Web Slices. Vervolgens klik u de om optie Weergave van het feedleesvenster inschakelen uit te schakelen. Sluit Internet Explorer en open het programma opnieuw.

Beperkingen op aantal geretourneerde records

Telkens als u records ophaalt, worden alleen de bovenste 50 records in uw query geretourneerd. Als er meer dan 50 records zijn, komt er een <link rel="next" href="<url to next set of records>" >-knooppunt in XML of een JSON**__next**-eigenschap aan het einde van de resultaatset. U kunt de URL-waarde in dat knooppunt of die eigenschap gebruiken om met de volgende set records door te gaan. De URL bevat een $skiptoken-parameter die informatie over de wisselbestandgrens bevat.

Als u extra records op wilt halen, moet u een manier maken die het bestaan van dit knooppunt of deze eigenschap detecteert en de opgegeven URL gebruiken om het volgende set records op te halen. Voor meer informatie, zie: Voorbeeld: Meerdere records ophalen met het OData-eindpunt met JavaScript

Entiteitseigenschappen

Elke conceptuele schemadefinitietaal (CSDL) <EntitySet> verwijst naar een <EntityType>-element dat de relaties en eigenschappen voor een entiteit beschrijven. Binnen de <EntityType>-elementen komen de <Property>-elementen overeen met Microsoft Dynamics 365-entiteitskenmerken. Elke eigenschap krijgt een gegevenstype toegewezen dat overeenkomt met een van de primitieve Entity Data Model (EDM)-gegevenstypen of een <ComplexType> dat speciaal voor Microsoft Dynamics 365 is gedefinieerd. De volgende tabel geeft de gegevenstypen weer.

OData-type

Microsoft Dynamics 365-gegevenstype

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.Geld

Money

Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty

BooleanManagedProperty

Complexe typen in Microsoft Dynamics CRM

Bepaalde gegevenstypen die worden gebruikt door Microsoft Dynamics 365 kunnen niet de eenvoudige EDM-gegevenstypen gebruiken.

Notitie

Als u complexe Microsoft Dynamics 365-typewaarden wilt instellen op null, stelt u elke eigenschap van het complexe type in op null. Zie Complexe types instellen op null voor meer informatie.

EntityReference

Het Microsoft.Crm.Sdk.Data.Services.EntityReference-type geeft een opzoekactie weer. Het komt overeen met EntityReference.De volgende tabel geeft de eigenschappen weer.

Naam

Type

Beschrijving

Id

GUID

De unieke ID van de record die in de zoekactie is gekoppeld.

LogicalName

String

De naam van de entiteit.

Name

String

De waarde van het primaire kenmerk van de record die in de zoekactie is gekoppeld.

Het volgende voorbeeld is een 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>

Het volgende voorbeeld is een JSON-EntityReference:

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

OptionSetValue

Het Microsoft.Crm.Sdk.Data.Services.OptionSetValue- type geeft een selectielijstkenmerk weer. Het komt overeen met OptionSetValue. De volgende tabel bevat een overzicht van eigenschappen

Naam

Type

Beschrijving

Value

Number

De geselecteerde waarde van het OptionSet-kenmerk.

Het volgende voorbeeld is een ATOMXMLOptionSetValue.

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

Het volgende voorbeeld is een JSON-OptionSetValue:

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

Geld

Het Microsoft.Crm.Sdk.Data.Services.Money- type geeft een geldkenmerk weer. Het komt overeen met Money De volgende tabel geeft de eigenschappen weer.

Naam

Type

Beschrijving

Value

Number

Het hoeveelheid geld.

Het volgende voorbeeld is een ATOMXMLMoney.

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

Het volgende voorbeeld is een JSON-Money:

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

BooleanManagedProperty

Bepaalde entiteiten die eigendom zijn van de organisatie hebben records die in een oplossing kunnen worden opgenomen, bijvoorbeeld WebResource. Voorbeelden van beheerde eigenschappen zijn IsCustomizable, IsHidden en CanBeDeleted. Het komt overeen met BooleanManagedProperty Deze Boolean-eigenschappen regelen het gedrag van beheerde oplossingsonderdelen. Zie Beheerde eigenschappen gebruiken voor meer informatie. De volgende tabel bevat een overzicht van BooleanManagedProperty.

Naam

Type

Beschrijving

Value

Boolean

Geeft aan of de beheerde eigenschap van kracht is.

CanBeChanged

Boolean

Geeft aan of de waarde van de beheerde eigenschap kan worden gewijzigd.

ManagedPropertyLogicalName

String

Hiermee wordt de naam aangegeven van de beheerde eigenschap.

Deze eigenschap is alleen-lezen.

Het volgende voorbeeld is een 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>

Het volgende voorbeeld is een JSON-BooleanManagedProperty:

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

Verwante entiteiten

De conceptuele schemadefinitietaal (CSDL) <NavigationProperty>-element omvat alle 1:N- en N:N-relaties voor de entiteit. Als de relatie een zelfreferentiële relatie is, zijn er twee <NavigationProperty>-elementen voor deze relatie. De naam van de relatie gebruikt het voorvoegsel Referenced en Referencing om de rol te onderscheiden die een specifieke record in de relatie speelt. Zie Types entiteitsrelaties voor meer informatie.

Gebruik <NavigationProperty> wanneer u een query wilt maken om verwante records op te halen. In het volgende voorbeeld, als u een lijst wilt ophalen met kansen waar een specifiek account de klant is, gebruikt u de entiteitsrelatie opportunity_customer_accounts in de context van een specifieke account:

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

Als u wilt dat URL alleen naar de verwante records verwijst, kunt u de $links-queryoptie gebruiken die in het volgende voorbeeld wordt weergegeven.

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

Hiermee worden alleen de URl's naar de gegevens geretourneerd voor elke gerelateerde record. Als de resultaten in de browser worden weergegeven, zien ze eruit als in het volgende voorbeeld.

<?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>

Als u gegevens van de verwante records wilt opnemen als u een record ophaalt, kunt u de $expand-systeemqueryoptie gebruiken.

Zie ook

Het OData-eindpunt gebruiken met webresources
Queryopties van het OData-systeem die het OData-eindpunt gebruiken
Basisgegevensbewerkingen uitvoeren met behulp van het OData-eindpunt
Aanvullende gegevensbewerkingen uitvoeren met behulp van het OData-eindpunt
Het OData-eindpunt gebruiken met Ajax- en JScript-webresources
Voorbeeld: Maken, ophalen, bijwerken en verwijderen via het OData-eindpunt met JavaScript en jQuery
Voorbeeld: Maken, ophalen, bijwerken en verwijderen via het OData-eindpunt met JavaScript
Voorbeeld: OData-eindpunt jQuery-contactpersoneneditor
Open Data Protocol (OData)
Technisch artikel: Optiesetopties gebruiken met het REST-eindpunt - JScript

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht