Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ihre Anwendungen können sich an Konfigurationsänderungen anpassen, indem sie die Tabellen- und Spaltendefinitionen (Metadaten) abfragen. Wenn Sie eine der wichtigsten Eigenschaften eines Definitionselements kennen, können Sie Definitionen mithilfe der Web-API abrufen.
Hinweis
In diesem Thema werden das Abrufen von Tabellendefinitionen und anderen Schemaentitäten anhand des Namens beschrieben. Sie können aber auch die Namen verwenden, wenn Sie andere Vorgänge ausführen, um Schemaentitäten zu erstellen, zu aktualisieren und zu löschen.
Abrufen von Definitionselementen anhand des Namens
Alle abrufbaren Definitionselemente verfügen über einen MetadataId Primärschlüssel, der zum Abrufen einzelner Elemente verwendet werden kann. Für Definitionen mit einem alternativen Schlüssel können Sie sie anhand des Namens abrufen.
Das Abrufen von Definitionselementen nach Namen ist einfacher, da Sie wahrscheinlich bereits einen Verweis auf den Elementnamen in Ihrem Code haben. In der folgenden Tabelle sind die alternativen Schlüsseleigenschaften zum Abrufen solcher Elemente anhand des Namens aufgeführt.
| Definitionselement | Sekundärschlüssel | Example |
|---|---|---|
| Entität | LogicalName | GET /api/data/v9.2/EntityDefinitions(LogicalName='account') |
| Merkmal | LogicalName | GET /api/data/v9.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='emailaddress1') |
| Beziehung | SchemaName | GET /api/data/v9.2/RelationshipDefinitions(SchemaName='Account_Tasks') |
| Globaler Optionssatz | Name | GET /api/data/v9.2/GlobalOptionSetDefinitions(Name='metric_goaltype') |
Beispiel: Abrufen von Definitionselementen nach Namen
Ein allgemeines Definitionselement, das von Personen abgerufen werden soll, sind die Optionen, die für ein bestimmtes Attribut konfiguriert sind. Das folgende Beispiel zeigt, wie die Eigenschaften OptionSet und Eigenschaften GlobalOptionSet eines PicklistAttributeMetadata EntityType abgerufen werden.
Hinweis
Durch das Erweitern sowohl der OptionSet als auch der GlobalOptionSet einzelwertigen Navigationseigenschaften von PicklistAttributeMetadata EntityType können Sie die Optionsdefinition abrufen, unabhängig davon, ob das Attribut so konfiguriert ist, dass globale Optionssätze oder der lokale Optionssatz innerhalb der Entität verwendet werden. Wenn es sich um einen "lokalen" Optionssatz handelt, ist die GlobalOptionSet Eigenschaft null wie unten dargestellt.
Wenn das Attribut einen globalen Optionssatz verwendet hat, enthält die Eigenschaft die GlobalOptionSet definierten Optionen, und die OptionSet Eigenschaft wäre NULL.
Anforderung:
GET [Organization URI]/api/data/v9.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='accountcategorycode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet($select=Options),GlobalOptionSet($select=Options) HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
Content-Type: application/json; charset=utf-8
Antwort:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#EntityDefinitions('account')/Attributes/Microsoft.Dynamics.CRM.PicklistAttributeMetadata(LogicalName,OptionSet,GlobalOptionSet,OptionSet(Options),GlobalOptionSet(Options))/$entity",
"LogicalName": "accountcategorycode",
"MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad",
"OptionSet@odata.context": "[Organization URI]/api/data/v9.2/$metadata#EntityDefinitions('account')/Attributes(118771ca-6fb9-4f60-8fd4-99b6124b63ad)/Microsoft.Dynamics.CRM.PicklistAttributeMetadata/OptionSet(Options)/$entity",
"OptionSet": {
"Options": [{
"Value": 1,
"Label": {
"LocalizedLabels": [{
"Label": "Preferred Customer",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd",
"HasChanged": null
}],
"UserLocalizedLabel": {
"Label": "Preferred Customer",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd",
"HasChanged": null
}
},
"Description": {
"LocalizedLabels": [
],
"UserLocalizedLabel": null
},
"Color": null,
"IsManaged": true,
"MetadataId": null,
"HasChanged": null
}, {
"Value": 2,
"Label": {
"LocalizedLabels": [{
"Label": "Standard",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd",
"HasChanged": null
}],
"UserLocalizedLabel": {
"Label": "Standard",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd",
"HasChanged": null
}
},
"Description": {
"LocalizedLabels": [
],
"UserLocalizedLabel": null
},
"Color": null,
"IsManaged": true,
"MetadataId": null,
"HasChanged": null
}],
"MetadataId": "b994cdd8-5ce9-4ab9-bdd3-8888ebdb0407"
},
"GlobalOptionSet": null
}
Abrufen von Definitionselementen nach MetadataId
Da dies MetadataId der Primärschlüssel für Definitionselemente ist, folgt das Abrufen einzelner Elemente demselben Muster, das zum Abrufen von Geschäftsdatentabellen verwendet wird.
| Definitionselement | Example |
|---|---|
| Entität | GET /api/data/v9.2/EntityDefinitions(<Entity MetadataId>) |
| Merkmal | GET /api/data/v9.2/EntityDefinitions(<Entity MetadataId>)/Attributes(<Attribute MetadataId>) |
| Beziehung | GET /api/data/v9.2/RelationshipDefinitions(<Relationship MetadataId>) |
| Globaler Optionssatz | GET /api/data/v9.2/GlobalOptionSetDefinitions(<OptionSet MetadataId>) |
Beispiel: Abrufen von Definitionselementen nach MetadataId
Um das gleiche Ergebnis wie in Beispiel: Abrufen von Definitionselementen nach Namen zu erreichen, müssen Sie eine Reihe von Abfragevorgängen ausführen, um durch Filterung nach der Entität LogicalName und dann nach dem Attribut LogicalName die MetadataId zu erhalten.
Anforderung:
GET [Organization URI]/api/data/v9.2/EntityDefinitions?$filter=LogicalName%20eq%20'account'&$select=MetadataId HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
Content-Type: application/json; charset=utf-8
Antwort:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{
"@odata.context":"[Organization URI]/api/data/v9.2/$metadata#EntityDefinitions(MetadataId)","value":[
{
"MetadataId":"70816501-edb9-4740-a16c-6a5efbc05d84"
}
]
}
Anforderung:
GET [Organization URI]/api/data/v9.2/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes?$filter=LogicalName%20eq%20'accountcategorycode'&$select=MetadataId HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
Content-Type: application/json; charset=utf-8
Antwort:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes(MetadataId)","value":[
{
"@odata.type": "#Microsoft.Dynamics.CRM.PicklistAttributeMetadata",
"MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad"
}
]
}
Anforderung:
GET [Organization URI]/api/data/v9.2/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes(118771ca-6fb9-4f60-8fd4-99b6124b63ad)/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet($select=Options),GlobalOptionSet($select=Options) HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
Content-Type: application/json; charset=utf-8
Antwort:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes/Microsoft.Dynamics.CRM.PicklistAttributeMetadata(LogicalName,OptionSet,GlobalOptionSet,OptionSet(Options),GlobalOptionSet(Options))/$entity",
"LogicalName": "accountcategorycode",
"MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad",
"OptionSet@odata.context": "[Organization URI]/api/data/v9.2/$metadata#EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes(118771ca-6fb9-4f60-8fd4-99b6124b63ad)/Microsoft.Dynamics.CRM.PicklistAttributeMetadata/OptionSet(Options)/$entity",
"OptionSet": {
"Options": [{
"Value": 1,
"Label": {
"LocalizedLabels": [{
"Label": "Preferred Customer",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd",
"HasChanged": null
}],
"UserLocalizedLabel": {
"Label": "Preferred Customer",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd",
"HasChanged": null
}
},
"Description": {
"LocalizedLabels": [
],
"UserLocalizedLabel": null
},
"Color": null,
"IsManaged": true,
"MetadataId": null,
"HasChanged": null
}, {
"Value": 2,
"Label": {
"LocalizedLabels": [{
"Label": "Standard",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd",
"HasChanged": null
}],
"UserLocalizedLabel": {
"Label": "Standard",
"LanguageCode": 1033,
"IsManaged": true,
"MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd",
"HasChanged": null
}
},
"Description": {
"LocalizedLabels": [
],
"UserLocalizedLabel": null
},
"Color": null,
"IsManaged": true,
"MetadataId": null,
"HasChanged": null
}],
"MetadataId": "b994cdd8-5ce9-4ab9-bdd3-8888ebdb0407"
},
"GlobalOptionSet": null
}
Siehe auch
Verwenden der Web-API mit Tabellendefinitionen
Abfragen von Tabellendefinitionen mithilfe der Web-API
Tabellendefinitionen über die Web-API erstellen und aktualisieren
Erstellen und Aktualisieren von Tabellenbeziehungen mithilfe der Web-API
Beispiel für Web-API-Tabellenschemavorgänge
Beispiel für Web-API-Tabellen-Schemaoperationen (C#)