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 |
Microsoft.Crm.Sdk.Data.Services.EntityReference |
EntityReference |
Microsoft.Crm.Sdk.Data.Services.OptionSetValue |
OptionSetValue |
Microsoft.Crm.Sdk.Data.Services.Geld |
|
Microsoft.Crm.Sdk.Data.Services.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