Verweisen auf Dataverse-Schemadefinitionen nach Name oder MetadataId

Erfahren Sie, wie Sie Microsoft Dataverse Schemadefinitionen anhand des Namens oder der Metadaten-ID über die Web-API referenzieren. Diese Abfragen helfen Anwendungen beim Abrufen von Metadaten und der Anpassung an Änderungen der Tabellen- und Spaltenkonfiguration.

Hinweis

In diesem Artikel wird das Abrufen von Schemadefinitionen anhand des Namens veranschaulicht. Sie können die Namen auch verwenden, wenn Sie andere Vorgänge ausführen, um Schemaentitäten zu erstellen, zu aktualisieren und zu löschen.

Abrufen von Schemadefinitionen nach Name

Alle abrufbaren Definitionselemente verfügen über einen MetadataId Primärschlüssel, den Sie zum Abrufen einzelner Elemente verwenden können. 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 Schemadefinitionen anhand des Namens

Ein allgemeines Definitionselement, das von Personen abgerufen werden soll, ist die für ein bestimmtes Attribut konfigurierten Optionen. Das folgende Beispiel zeigt, wie die Eigenschaften OptionSet und Eigenschaften GlobalOptionSet eines PicklistAttributeMetadata EntityType abgerufen werden.

Hinweis

Sie müssen die OptionSet Navigationseigenschaften von GlobalOptionSetPicklistAttributeMetadata EntityType nicht mit einem Wert erweitern. Sie können die Optionsdefinition von beiden Eigenschaften abrufen, unabhängig davon, ob das Attribut für die Verwendung globaler Optionssätze oder der lokalen Optionssatz innerhalb der Entität konfiguriert ist.

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(Options),GlobalOptionSet(Options))/$entity",
  "MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad",
  "LogicalName": "accountcategorycode",
  "OptionSet": {
    "MetadataId": "b994cdd8-5ce9-4ab9-bdd3-8888ebdb0407",
    "Options": [
      {
        "Value": 1,
        "Color": null,
        "IsManaged": true,
        "ExternalValue": null,
        "ParentValues": [],
        "Tag": null,
        "IsHidden": false,
        "MetadataId": null,
        "HasChanged": null,
        "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
        }
      },
      {
        "Value": 2,
        "Color": null,
        "IsManaged": true,
        "ExternalValue": null,
        "ParentValues": [],
        "Tag": null,
        "IsHidden": false,
        "MetadataId": null,
        "HasChanged": null,
        "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
        }
      }
    ]
  },
  "GlobalOptionSet": {
    "MetadataId": "b994cdd8-5ce9-4ab9-bdd3-8888ebdb0407",
    "Options": [
      {
        "Value": 1,
        "Color": null,
        "IsManaged": true,
        "ExternalValue": null,
        "ParentValues": [],
        "Tag": null,
        "IsHidden": false,
        "MetadataId": null,
        "HasChanged": null,
        "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
        }
      },
      {
        "Value": 2,
        "Color": null,
        "IsManaged": true,
        "ExternalValue": null,
        "ParentValues": [],
        "Tag": null,
        "IsHidden": false,
        "MetadataId": null,
        "HasChanged": null,
        "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
        }
      }
    ]
  }
}

Abrufen von Schemadefinitionen durch 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 Schemadefinitionen durch MetadataId

Führen Sie eine Reihe von Abfragevorgängen aus, um dasselbe Ergebnis wie Beispiel: Abrufen von Definitionselementen nach Name, um die MetadataId Abfragevorgänge abzurufen, indem Sie nach der Entität LogicalName und dann nach dem Attribut LogicalNamefiltern.

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('account')/Attributes/Microsoft.Dynamics.CRM.PicklistAttributeMetadata(LogicalName,OptionSet(Options),GlobalOptionSet(Options))/$entity",
  "MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad",
  "LogicalName": "accountcategorycode",
  "OptionSet": {
    "MetadataId": "b994cdd8-5ce9-4ab9-bdd3-8888ebdb0407",
    "Options": [
      {
        "Value": 1,
        "Color": null,
        "IsManaged": true,
        "ExternalValue": null,
        "ParentValues": [],
        "Tag": null,
        "IsHidden": false,
        "MetadataId": null,
        "HasChanged": null,
        "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
        }
      },
      {
        "Value": 2,
        "Color": null,
        "IsManaged": true,
        "ExternalValue": null,
        "ParentValues": [],
        "Tag": null,
        "IsHidden": false,
        "MetadataId": null,
        "HasChanged": null,
        "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
        }
      }
    ]
  },
  "GlobalOptionSet": {
    "MetadataId": "b994cdd8-5ce9-4ab9-bdd3-8888ebdb0407",
    "Options": [
      {
        "Value": 1,
        "Color": null,
        "IsManaged": true,
        "ExternalValue": null,
        "ParentValues": [],
        "Tag": null,
        "IsHidden": false,
        "MetadataId": null,
        "HasChanged": null,
        "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
        }
      },
      {
        "Value": 2,
        "Color": null,
        "IsManaged": true,
        "ExternalValue": null,
        "ParentValues": [],
        "Tag": null,
        "IsHidden": false,
        "MetadataId": null,
        "HasChanged": null,
        "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
        }
      }
    ]
  }
}

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#)