Abfrage von Microsoft Dynamics CRM 2015-Daten mit dem OData-Endpunkt
Veröffentlicht: November 2016
Gilt für: Dynamics CRM 2015
Um Daten mit dem OData-Endpunkt zu suchen und abzurufen, bearbeiten Sie die URI. Alle Aktionen erfordern, dass Sie mit der Servicestamm-URI beginnen. In Microsoft Dynamics CRM 2015 und Microsoft Dynamics CRM Online 2015-Update ist die Servicestamm-URI in dem folgenden Beispiel.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc
Hinweis
Die Organisationsstamm-URL muss den Organisationsnamen enthalten. Verweisen Sie auf Servicestamm, indem Sie die getClientUrl-Funktion im Kontextobjekt verwenden. Wenn eine Webressource in einem Formular gehostet wird, können Sie auf den Xrm.Page.context verweisen, um getClientUrl aufzurufen. Andernfalls müssen Sie einen Verweis auf die Seite ClientGlobalContext.js.aspx einschließen, sodass Sie GetGlobalContext-Funktion verwenden können, um das Kontextobjekt abzurufen.
Von der Servicestamm-URI identifizieren Sie spezielle Ressourcen mit einem Ressourcenpfad und verfeinern Ihre Anfrage weiter mit Systemabfrageoptionen.
In diesem Thema
Zugreifen auf Microsoft Dynamics CRM-Entitätsdaten
Beschränkungen der Zahl der zurückgegebenen Datensätze
Entitätseigenschaften
Komplexe Microsoft Dynamics CRM-Typen
EntityReference
OptionSetValue
Zahlung
BooleanManagedProperty
Verknüpfte Entitäten
Zugreifen auf Microsoft Dynamics CRM-Entitätsdaten
Jede Microsoft Dynamics 365-Entität wird in CSDL (Conceptual Schema Definition Language) als Sammlung mit einem <EntitySet>.Element repräsentiert. Der Name jeder Sammlung folgt der Namenskonvention von [Entitäts-Schemaname] + Set. Dieser Name wird in der URL verwendet, um auf eine Sammlung von Entitätsdatensätzen zuzugreifen. Eine Liste aller verfügbaren Sammlungen wird angezeigt, wenn Sie die Servicestamm-URI anzeigen. Zum Erstellen einer Abfrage fügen Sie dem Ressourcenpfad Ihre Kriterien hinzu.
In Ihrem Browser können Sie beispielsweise die ATOM-Kontoentitätsdatensätze ("Einträge") sehen, die den Pfad im folgenden Beispiel verwenden.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/AccountSet
Nachdem Sie die Liste von Kontendatensätzen angezeigt haben, sehen Sie im folgenden Beispiel, wie jeder davon einzeln mit der URL-Syntax referenziert werden kann.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/AccountSet(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
Hinweis
Zum Anzeigen dieser Daten in Internet Explorer müssen Sie zunächst sicherstellen, dass Internet Explorer nicht aktiviert ist, um RSS-Feeds zu formatieren. In der Registerkarte Inhalt auf Internetoptionen. die Option Einstellungen in der Gruppe Feeds und Web Slices wählen. Klicken Sie dann, um die Option Feedleseansicht einschalten zu deaktivieren. Schließen Sie Internet Explorer, und öffnen Sie es erneut.
Beschränkungen der Zahl der zurückgegebenen Datensätze
Bei jedem Abruf von Daten werden nur die obersten 50 Datensätze in Ihrer Abfrage zurückgegeben. Wenn mehr als 50 Datensätze vorhanden sind, gibt es einen <link rel="next" href="<url to next set of records>" > Knoten in XML oder eine JSON**__next** Eigenscahft am Ende des Ergebnis-Sets. Sie können den URL-Wert in diesem Knoten Eigenschaft oder in verwenden, um mit der folgenden Gruppen von Datensätzen den Vorgang fortzusetzen. Die URL enthält einen Parameter $skiptoken, der Informationen zur Seitengrenze enthält.
Um weitere Datensätze abzurufen, müssen Sie eine Methode erstellen, die das Vorhandensein dieses Knotens oder dieser Eigenschaft erkennt und mit der angegebenen URL den nächsten Satz von Datensätzen abruft. Weitere Informationen finden Sie unter: Beispiel: Abrufen von mehreren Datensätzen unter Verwendung des OData-Endpunkts mit JavaScript.
Entitätseigenschaften
Jede CSDL-<EntitySet> verweist auf ein <EntityType>-Element, das die Eigenschaften und Beziehungen für eine Entität beschreibt. Innerhalb der <EntityType>-Elemente entsprechen die <Property>-ElementeMicrosoft Dynamics 365-Entitätsattributen. Jeder Eigenschaft ist ein Datentyp zugewiesen, der einem der primitiven Entity Data Model (EDM)-Datentypen oder einem <ComplexType>, der speziell für Microsoft Dynamics 365 definiert ist, entspricht. In der folgenden Liste sind die Datentypen aufgeführt.
OData-Typ |
Microsoft Dynamics 365-Datentyp |
---|---|
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.Zahlung |
|
Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty |
Komplexe Microsoft Dynamics CRM-Typen
Bestimmte Datentypen, die von Microsoft Dynamics 365 verwendet werden, können die einfachen EDM-Datentypen nicht verwenden.
Hinweis
Um komplexe Microsoft Dynamics 365 Typwerte auf Null zu setzen., setzen Sie jede Eigenschafte des komplexen Typs auf Null. Weitere Informationen finden Sie unter Komplexe Typen auf Null festlegen.
EntityReference
Der Microsoft.Crm.Sdk.Data.Services.EntityReference-Typ stellt eine Suche dar. Er entspricht EntityReference. Die folgende Tabelle führt die Eigenschaften auf.
Name |
Typ |
Beschreibung |
---|---|---|
Id |
GUID |
Die eindeutige ID für den in der Suche assoziierten Datensatztyp. |
LogicalName |
String |
Der Name der Entität. |
Name |
String |
Der Wert des primären Attributs für den assoziierten Datensatztyp in der Suche. |
Das folgende Beispiel ist ein 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>
Das folgende Beispiel ist ein JSON-EntityReference:
"PrimaryContactId" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.EntityReference" },
"Id": "78713858-5e81-df11-afdb-00155dba380a",
"LogicalName": "contact",
"Name": "Cathan Cook (sample)"}
OptionSetValue
Der Typ Microsoft.Crm.Sdk.Data.Services.OptionSetValue repräsentiert ein Auswahllistenattribut. Er entspricht OptionSetValue. Die folgende Tabelle enthält seine Eigenschaften.
Name |
Typ |
Beschreibung |
---|---|---|
Value |
Number |
Der ausgewählte Wert des OptionSet-Attributs. |
Das folgende Beispiel stellt ein ATOMXMLOptionSetValue-Element dar.
<d:PreferredContactMethodCode m:type="Microsoft.Crm.Sdk.Data.Services.OptionSetValue">
<d:Value m:type="Edm.Int32">1</d:Value>
</d:PreferredContactMethodCode>
Das folgende Beispiel ist ein JSON-OptionSetValue:
"PreferredContactMethodCode" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.OptionSetValue" },
"Value": 1}
Zahlung
Der Typ Microsoft.Crm.Sdk.Data.Services.Money repräsentiert ein Money-Attribut. Er entspricht Money. Die folgende Tabelle führt die Eigenschaften auf.
Name |
Typ |
Beschreibung |
---|---|---|
Value |
Number |
Der Geldbetrag. |
Das folgende Beispiel stellt ein ATOMXMLMoney-Element dar.
<d:CreditLimit m:type="Microsoft.Crm.Sdk.Data.Services.Money">
<d:Value m:type="Edm.Decimal">500.0000</d:Value>
</d:CreditLimit>
Das folgende Beispiel ist ein JSON-Money:
"CreditLimit" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.Money" },
"Value": 500.0000}
BooleanManagedProperty
Bestimmte organisationseigene Entitäten haben Datensätze, die in einer Lösung hinzugefügt werden können, z. B. WebResource. Beispiele für verwaltete Eigenschaften sind u. a. IsCustomizable, IsHidden und CanBeDeleted. Dies entspricht BooleanManagedProperty Diese Boolean-Eigenschaften steuern das Verhalten der verwalteten Lösungskomponenten. Weitere Informationen finden Sie unter Verwaltete Eigenschaften nutzen. Die folgende Tabelle führt die BooleanManagedProperty auf.
Name |
Typ |
Beschreibung |
---|---|---|
Value |
Boolean |
Gibt an, ob die verwaltete Eigenschaft aktiv ist. |
CanBeChanged |
Boolean |
Gibt an, ob der Wert der verwalteten Eigenschaft geändert werden kann. |
ManagedPropertyLogicalName |
String |
Gibt den Namen der verwalteten Eigenschaft an. Diese Eigenschaft ist schreibgeschützt. |
Das folgende Beispiel stellt ein ATOMXMLBooleanManagedProperty-Element dar.
<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>
Das folgende Beispiel ist ein JSON-BooleanManagedProperty:
"IsCustomizable" :{
"__metadata": { "type": "Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty" },
"CanBeChanged": true,
"ManagedPropertyLogicalName": "iscustomizableanddeletable",
"Value": true}
Verknüpfte Entitäten
Das CSDL-Element <NavigationProperty> enthält alle 1:n- und n:n-Beziehungen für die Entität. Wenn die Beziehung selbstbezüglich ist, gibt es zwei <NavigationProperty>-Elemente für die Beziehung. Der Name der Beziehung verwendet das Präfix Referenced und Referencing zur Differenzierung der Rolle, die der jeweilige Datensatz in der Beziehung spielt. Weitere Informationen finden Sie unter Typen von Entitätsbeziehungen.
Verwenden Sie die <NavigationProperty>, wenn Sie eine Abfrage erstellen möchten, um verknüpfte Datensätze abzurufen. Im folgenden Beispiel gilt: Wenn Sie eine Liste von Geschäftschancen abrufen möchten, bei denen ein bestimmtes Konto der Kunde ist, verwenden Sie die Entitätsbeziehung opportunity_customer_accounts im Kontext eines bestimmten Kontos:
/AccountSet(guid'[GUID value]')/opportunity_customer_accounts
Wenn Sie nur die URL-Adressen zu verknüpften Datensätzen benötigen, können Sie die $links-Abfrageoption verwenden, die im folgenden Beispiel angezeigt wird.
/AccountSet(guid'[GUID value]')/$links/opportunity_customer_accounts
Dadurch werden nur die URLs zu den Daten für jeden verknüpften Datensatz zurückgegeben. Die Ergebnisse sehen beim Anzeigen in einem Browser wie das folgende Beispiel aus.
<?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>
Wenn Sie Daten aus verknüpften Datensätzen einschließen möchten, wenn Sie einen Datensatz abrufen, verwenden Sie die Systemabfrageoption $expand.
Siehe auch
Verwenden des OData-Endpunkts mit Webressourcen
OData-Systemabfrageoptionen mithilfe des OData-Endpunkts
Ausführen grundlegender Datenvorgänge mithilfe des OData-Endpunkts
Ausführen zusätzlicher Datenvorgänge mithilfe des OData-Endpunkts
Verwenden des OData-Endpunkts mit Ajax- und JScript-Webressourcen
Beispiel: Erstellen, Abrufen, Aktualisieren und Löschen mithilfe des OData-Endpunkts mit jQuery
Beispiel: Erstellen, abrufen, aktualisieren und löschen mithilfe des OData-Endpunkts mit JavaScript
Beispiel: OData-Endpunkt jQuery-Kontakteditor
Open Data Protocol (OData)
Technischer Artikel: Verwenden von Optionssatz-Optionen mit dem REST-Endpunkt - Jscript
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright