Verwenden Sie einen Alternativschlüssel, um auf einen Datensatz zu verweisen

Bei Datenintegrationsszenarien verwenden Sie alternative Schlüssel, um Vorgänge durchzuführen, bei denen Sie den Primärschlüsselwert eines Dataverse-Datensatzes nicht kennen. Sie können alternative Schlüssel nur für Tabellen verwenden, in denen sie definiert sind. Die meisten Dataverse-Tabellen haben keine alternativen Schlüssel, es sei denn, sie wurden so angepasst, dass sie diese enthalten.

Wenn Sie wissen möchten, wie Sie alternative Schlüssel für eine Tabelle definieren und identifizieren, lesen Sie die folgenden Artikel:

Sie können alternative Schlüssel verwenden, indem Sie entweder die Dataverse Web-API oder das SDK für .NET benutzen.

Wenn Sie die Web-API verwenden, referenzieren Sie einen bestimmten Datensatz über eine URL und verwenden dann die Http-Methoden POST, PATCH oder DELETE, um den Datenvorgang durchzuführen. Sie verwenden URLs auch, um Werte für einzelwertige Navigationseigenschaften mithilfe der @odata.bind-Syntax festzulegen oder als Parameter für Funktionen und Aktionen.

Die folgende Tabelle enthält Beispiele, die zeigen, wie Datensätze mit relativen URLs referenziert werden:

Situation Beispiel
Mit einem Primärschlüssel /accounts(00000000-0000-0000-0000-000000000001) ODER
accounts(accountid=00000000-0000-0000-0000-000000000001)
Siehe den folgenden Hinweis zu den Typen systemuser und team der Entitäten
Mit einem einzelnen Alternativschlüssel /accounts(accountnumber='ABC123')
Mit mehrteiligen Alternativschlüsseln /contacts(firstname='Joe',emailaddress1='abc@example.com')
Mit einem Alternativschlüssel, das eine Nachschlagespalte verwendet /accounts(_primarycontactid_value=00000000-0000-0000-0000-000000000002)
Wenn ein Alternativschlüssel für eine Nachschlagespalte definiert ist, müssen Sie den Namen des entsprechenden Nachfrage-Eigenschaft verwenden. Eine Nachschlage-Eigenschaft folgt der folgenden Namenskonvention: _<name of single-valued navigation property>_value.

Hinweis

Wegen der Art des Erbens von systemuser und team-Entitätstypen von dem principal-Entitätstyp können Sie keinen benannten Primärschlüssel verwenden, um auf diese Entitäten zu verweisen. Die Primärschlüssel für diese beiden Entitäten sind ownerid, statt systemuserid oder teamid. Der principal-Entitätstyp unterstützt die GET-Vorgänge nicht. Weitere Informationen: EntityType-Vererbung

Ausnahmen beim Verwenden von Alternativschlüsseln mit der Web-API

Sie müssen die folgenden Bedingungen und möglichen Ausnahmen berücksichtigen, wenn Alternativschlüssel verwendet werden:

  • Wenn Sie eine Spalte angeben, die nicht als eindeutiger Schlüssel definiert ist, wird ein Fehler ausgegeben, der darauf hinweist, dass die Verwendung von eindeutigen Schlüsselspalten erforderlich ist. Die Fehlermeldung ist: The key in the request URI is not valid for resource 'Microsoft.Dynamics.CRM.<table logical name>'. Ensure that the names and number of key properties match the declared or alternate key properties for the resource 'Microsoft.Dynamics.CRM.<table logical name>'.
  • Alternative Schlüsselwerte mit den folgenden Zeichen /, <, >, *, %, &, :, \\, ?, + werden derzeit nicht unterstützt.

Weitere Informationen: Datensatz unter Verwendung eines alternativen Schlüssels abrufen

Siehe auch

Definieren Sie alternative Schlüssel für eine Tabelle
Synchronisieren von Daten mit externen Systemen mithilfe der Änderungsnachverfolgung
Einen Datensatz mit Upsert einfügen oder aktualisieren

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