Rufen Sie Tabellendefinitionen nach Name oder MetadataId ab
Ihre Anwendungen können sich an Konfigurationsänderungen anpassen, indem Sie die Tabellen- und Spaltendefinitionen abfragen (Metadaten). Wenn Sie eine der Schlüsseleigenschaften eines Definitionselements kennen, können Sie Definitionen mithilfe der Web-API abrufen.
Hinweis
Dieses Thema beschreibt das Abrufen von Tabellendefinitionen und anderen Schemaentitäten nach Namen. Sie können die Namen aber auch verwenden, wenn Sie andere Vorgänge zum Erstellen, Aktualisieren und Löschen von Schemaentitäten ausführen.
Abrufen von Definitionselementen nach Namen
Alle abrufbaren Definitionselemente haben einen MetadataId
Primärschlüssel, mit dem einzelne Elemente abgerufen werden können. Für Definitionen, die einen alternativen Schlüssel haben, können Sie diese über den Namen abrufen.
Der Abruf von Definitionsartikeln nach Namen ist einfacher, da Sie wahrscheinlich bereits einen Verweis auf den Namen des Artikels in Ihrem Code haben. In der folgenden Tabelle sind die Eigenschaften Alternativschlüssel zum Abrufen solcher Elemente nach Namen aufgeführt.
Element-Definition | Alternativschlüssel | Beispiel |
---|---|---|
Entity | LogicalName | GET /api/data/v9.2/EntityDefinitions(LogicalName='account') |
Attribut | LogicalName | GET /api/data/v9.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='emailaddress1') |
Beziehung | Schemaname | GET /api/data/v9.2/RelationshipDefinitions(SchemaName='Account_Tasks') |
Globaler Opstionssatz | Name | GET /api/data/v9.2/GlobalOptionSetDefinitions(Name='metric_goaltype') |
Beispiel: Abrufen von Definitionselementen nach Namen
Ein allgemeines Definitionselement, das abgerufen werden soll, sind die für ein bestimmtes Attribut konfigurierten Optionen. Im folgenden Beispiel wird gezeigt, wie die OptionSet
- und GlobalOptionSet
-Eigenschaften von PicklistAttributeMetadata EntityType abgerufen werden.
Hinweis
Beides erweitern die OptionSet
und GlobalOptionSet
einwertigen Navigationseigenschaften von PicklistAttributeMetadata EntityType. Mit dieser Option können Sie die Optionsdefinition abrufen, unabhängig davon, ob das Attribut für die Verwendung globaler Optionssätze oder des 'lokalen' Optionssatz innerhalb der Entität konfiguriert ist. Wenn es sich um einen lokalen Optionssatz handelt, wird die GlobalOptionSet
Eigenschaf null angezeigt (siehe unten).
Wenn das Attribut ein globales Optionssatz verwendet, würde die GlobalOptionSet
Eigenschaft die definierten Optionen und die enthaltenOptionSet
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 Metadaten-ID
Weil MetadataId
der Primärschlüssel für Definitionselemente ist, erfolgt das Abrufen einzelner Elemente nach demselben Muster wie das Abrufen von Geschäftsdatentabellen.
Element-Definition | Beispiel |
---|---|
Entity | GET /api/data/v9.2/EntityDefinitions(<Entity MetadataId>) |
Attribut | GET /api/data/v9.2/EntityDefinitions(<Entity MetadataId>)/Attributes(<Attribute MetadataId>) |
Beziehung | GET /api/data/v9.2/RelationshipDefinitions(<Relationship MetadataId>) |
Globaler Opstionssatz | GET /api/data/v9.2/GlobalOptionSetDefinitions(<OptionSet MetadataId>) |
Beispiel: Abrufen von Definitionselementen nach Metadaten-ID
So erzielen Sie das gleiche Ergebnis wie in Beispiel: Abrufen von Definitionsartikeln nach Name, müssen Sie eine Reihe von Abfragevorgängen durchführen, um die MetadataId
zu erhalten, indem Sie nach der Entität LogicalName
und dann nach dem Attribut LogicalName
filtern.
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 Sie die Web-API mit Tabellendefinitionen
Abfragen von Tabellendefinitionen mithilfe der Web-API
Tabellendefinitionen über die Web-API erstellen und aktualisieren
Tabellendefinitionen über die Web-API erstellen und aktualisieren
Beispiel für Web-API-Tabellenschemavorgänge
Beispiel für Web-API-Tabellenschemavorgänge (C#)
Hinweis
Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)
Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).