Freigeben über


Verwenden Sie einen Alternativschlüssel, um Datensätze zu erstellen

 

Veröffentlicht: November 2016

Gilt für: Dynamics CRM 2015

Sie können jetzt Alternativschlüssel zum Erstellen von Instanzen von Entity und EntityReference-Klassen verwenden. Dieses Thema erörtert Verwendungsmuster und mögliche Ausnahmen, die möglicherweise beim Verwenden von Alternativschlüsseln ausgelöst werden. Um zu verstehen, wie Alternativschlüssel für eine Entität definiert werden, siehe Definieren von Alternativschlüsseln für eine Entität.

Hinweis

Für Microsoft Dynamics CRM Online-Organisationen steht diese Funktion nur zur Verfügung, wenn die Organisation auf Dynamics CRM Online 2015 Update 1 aktualisiert hat. Diese Funktion ist nicht für Dynamics CRM (lokal) verfügbar.

In diesem Thema

Verwenden der Alternativschlüssel zum Erstellen einer Entität

Verwenden der Alternativschlüssel zum Erstellen einer EntityReference

Alternative Eingabe für Meldungen

Ausnahmen beim Verwenden von Alternativschlüsseln

Verwenden der Alternativschlüssel zum Erstellen einer Entität

Sie können jetzt eine Entity mit einer primären ID oder einer einzigen KeyAttribute in einem einzigen Aufruf mithilfe des neuen Konstruktors erstellen.

public Entity (string logicalName, Guid id) {…}  
public Entity (string logicalName, string keyName, object keyValue) {…}
public Entity (string logicalName, KeyAttributeCollection keyAttributes) {…}  

Eine gültige Entity, die für Updatevorgänge verwendet wird, umfasst einen logischen Entitätsnamen und eines der Folgenden:

  • Einen Wert für ID (primären GUID-Schlüsselwert) (oder)

  • Eine KeyAttributeCollection mit einem gültigen Satz von Attributen, die mit einem definierten Schlüssel für die Entität übereinstimmen.

Verwenden der Alternativschlüssel zum Erstellen einer EntityReference

Sie können jetzt auch eine EntityReference ohne eine primäre ID und mit einer einzigen KeyAttribute in einem einzigen Aufruf mithilfe des neuen Konstruktors erstellen.

public EntityReference(string logicalName, Guid id) {…}  
public EntityReference(string logicalName, string keyName, object keyValue) {…}  
public EntityReference(string logicalName, KeyAttributeCollection keyAttributeCollection) {…}  

Eine gültige EntityReference enthält einen logischen Entitätsnamen und eines der Folgenden:

  • Einen Wert für ID (primären GUID-Schlüsselwert) oder

  • Eine KeyAttributeCollection-Sammlung mit einem gültigen Satz von Attributen, die mit einem definierten Schlüssel für die Entität übereinstimmen.

Alternative Eingabe für Meldungen

Wenn Sie Entitäten an CreateRequest und UpdateRequest übergeben, können Werte, die für Suchattribute mithilfe von EntityReference bereitgestellt werden, jetzt EntityReference mit alternativen Schlüsseln verwenden, die in KeyAttributes definiert sind, um einen verknüpften Datensatz anzugeben.  Diese werden aufgelöst und durch die primären ID-basierten Entitätsverweise ersetzt, bevor die Meldungen verarbeitet werden.

Ausnahmen beim Verwenden von Alternativschlüsseln

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

  • Die primäre ID wird verwendet, wenn sie bereitgestellt wird. Wenn sie nicht zur Verfügung gestellt wird, wird die KeyAttributeCollection untersucht. Wenn die KeyAttributeCollection nicht zur Verfügung gestellt wird, wird ein Fehler ausgelöst.

  • Wenn die bereitgestellte KeyAttributeCollection ein Attribut enthält, das der Primärschlüssel der Entität ist und der Wert gültig ist, wird die ID-Eigenschaft der Entity oder EntityReference mit dem zur Verfügung gestellten Wert aufgefüllt.

  • Wenn die Schlüsselattribute bereitgestellt werden, versucht das System, dem Satz von Attributen, die mit den Schlüsseln für die Entity verfügbar gemacht werden, zu entsprechen. Wenn es keine Übereinstimmung findet, wird ein Fehler ausgelöst. Wenn es eine Übereinstimmung findet, überprüft es die bereitgestellten Werte für diese Attribute. Im Falle der Gültigkeit ruft es die ID des Datensatzes ab, der mit den bereitgestellten Schlüsselwerten übereinstimmt, und füllt den ID-Wert der Entity oder EntityReference mit diesem Wert auf.

  • Wenn Sie ein festgelegtes Attribut angeben, das nicht als eindeutige Schlüssel definiert ist, wird ein Fehler ausgelöst, der angibt, dass die Verwendung von eindeutigen Schlüsselattributen erforderlich ist.

Siehe auch

Definieren von Alternativschlüsseln für eine Entität
Synchronisieren von Daten mit externen Systemen mithilfe der Änderungsnachverfolgung
Einen Datensatz mit Upsert einfügen oder aktualisieren

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright