Anpassen von Entitätsbeziehungsmetadaten

Entitätsbeziehungen definieren die Möglichkeiten, auf welche Weise Entitätsdatensätze Datensätzen anderer Entitäten oder der gleichen Entität zugeordnet werden können. Beim Erstellen neuer Entitätsbeziehungen werden neue Tabellenbeziehungen in der Datenbank erstellt. Verwenden Sie Entitätsbeziehungen, um spezielle Zuordnungen zu definieren, die häufig verwendet werden, um Datensätze für Berichte oder in der Benutzeroberfläche zuzuordnen. Nachdem eine Beziehung vorhanden ist, können Sie Datensätze basierend auf der Beziehung mithilfe der Methoden Associate und Disassociate zuordnen und ihre Zuordnung aufheben. Weitere Informationen: Aktionen auf Datensätze von Entitäten

Informationen zu Beziehungen zwischen einzelnen Datensätzen, die weniger formell und flexibler sind, finden Sie unter Verbindungsentitäten.

Dieses Thema behandelt das programmatische Arbeiten mit Entitätsbeziehungen. Informationen zum Verwenden von Entitätsbeziehungen in der Anwendung finden Sie unter Erstellen und Bearbeiten von Entitätsbeziehungen.

Typen von Entitätsbeziehungen

Dynamics 365 Customer Engagement (on-premises) enthält zwei Typen von Entitätsbeziehungen. Beide erben von der Klasse RelationshipMetadataBase:

  • One-to-Many-Beziehungen

  • Many-to-Many Beziehungen

    Bevor Sie eine neue Entitätsbeziehung programmgesteuert erstellen, müssen Sie überprüfen, ob Entitäten geeignet sind, an der Beziehung teilnehmen. Es gibt Einschränkungen, die auf beliebigen Entitätsbeziehungen mit den folgenden EntityMetadata-Eigenschaften angewendet werden: CanBeInManyToMany, CanBePrimaryEntityInRelationship und CanBeRelatedEntityInRelationship. Diese Einschränkungen werden berücksichtigt, wenn Entitätsbeziehungen manuell in den Anpassungstools erstellt werden. es gibt Nachrichten, die Sie verwenden können, um zu bestimmen, welche Beziehungen einer Entität verwenden können, die für diesen Beziehungstyp gültig sind. Weitere Informationen: Entitätsbeziehungsberechtigung

    Beide Typen von Entitätsbeziehungen lassen Optionen zu, die Navigationslinks zwischen verknüpften Datensätzen anzeigen. Weitere Informationen: Konfigurieren zugehöriger Menüs

Eins-zu-viele-Beziehungen

Bei Eins-zu-viele-Entitätsbeziehung können viele verweisende (zugehörige) Entitätsdatensätze einem einzigen referenzierten (primären) Entitätsdatensatz zugeordnet werden. Der referenzierte Entitätsdatensatz wird manchmal als "übergeordneter Datensatz" bezeichnet, und Datensätze der verweisenden Entität als "untergeordnete Datensätze".

In einem Entitätsknoten auf einer Lösungsseite wird diese Art der Entitätsbeziehung entweder als (1-zu-viele (1:n)-Beziehung) oder als (Viele-zu-1 (n:1)-Beziehung) angezeigt. Diese Begriffe werden verwendet, da Sie zu Entitätsbeziehungen durch eine der Entitäten navigieren. Die Bezeichnung gibt an, welche Rolle die aktuelle Entität in der Beziehung hat.

Notiz

Siehe Internet-API: Erstellen einer 1: n-Beziehung für Informationen dazu, wie die Internet-API zum Erstellen einer 1:N-Beziehung verwendet wird.

Für Organisationsservice verwenden Sie eine Instanz der Klasse OneToManyRelationshipMetadata, wenn Sie mit dieser Art von Entitätsbeziehung arbeiten. Jede Entitätsbeziehung verfügt über einen eindeutigen Schemanamen, den Sie verwenden, um diese abzurufen. Weitere Informationen finden Sie unter SchemaName. Jede Entitätsbeziehung dieser Art enthält auch eine referenzierte Entität (Primäre Entität) mit einem referenzierten Attribut und einer verweisenden Entität (Verknüpfte Entität) mit einem verweisenden Attribut. Das verweisende Attribut kann als Suchfeld in einem Entitätsformular angezeigt werden. Weitere Informationen finden Sie unter

Internet-API SDK-Assembly
OneToManyRelationshipMetadata EntityType.ReferencedEntity ReferencedEntity
OneToManyRelationshipMetadata EntityType.ReferencedAttribute ReferencedAttribute
OneToManyRelationshipMetadata EntityType.ReferencingEntity ReferencingEntity
OneToManyRelationshipMetadata EntityType.ReferencingAttribute ReferencingAttribute

Sie können verlangen, dass eine referenzierende Entität eine Referenz hat, indem Sie die Aufzählung AttributeRequiredLevel (AttributeRequiredLevel EnumType oder AttributeRequiredLevel Aufzählung) auf ApplicationRequired für das referenzierende Attribut festlegen. Um die Datenintegrität zu erhalten, wenn Sie diesen Schritt ausführen, sollten Sie auch angeben, welche Aktion ausgeführt werden soll, wenn der primäre Datensatz gelöscht wird. Verwenden Sie die Eigenschaft OneToManyRelationshipMetadata.CascadeConfiguration, um zu verhindern, dass der primäre Datensatz gelöscht wird, oder um den verknüpften Datensatz automatisch zu löschen sowie einen verwaisten Datensatz zu verhindern.

Sie können auch kaskadierende Konfiguration verwenden, um Verhalten zu automatisieren, wenn bestimmte Aktionen für verknüpfte Datensätze in der Organisation ausgeführt werden. Weitere Informationen: Verhalten von Entitätsbeziehungen

Zuordnen von Daten zu neuen Datensätzen

Liegt eine 1: n-Entitätsbeziehung vor, können Sie angeben, dass Daten aus bestimmten Feldern in der referenzierten Entität an alle neuen verknüpften Datensätzen übertragen werden können, die im Rahmen der Beziehung erstellt werden. Dies kann die Dateneingabe optimieren, wenn Sie neue verknüpfte Datensätze erstellen. Weitere Informationen finden Sie unter Entitäts- und Attributzuordnungen.

Auf sich selbst verweisende Eins-zu-viele-Entitätsbeziehungen

Bei einer auf sich selbst verweisenden Beziehung ist die verweisende und die referenzierte Entität identisch. Beispielsweise enthält die Firmenentität eine auf sich selbst verweisende 1: n-Beziehung, die eine Suche mit der Bezeichnung Übergeordnete Firma zulässt. Wenn das Entitätsbeziehungsverhalten als Übergeordnet definiert ist, kann ein Datensatz nicht auf sich selbst verweisen, da dies einen Zirkelverweis ergeben würde, wenn kaskadierende Verhaltensweisen angewendet werden. Weitere Informationen: Verhalten von Entitätsbeziehungen

Hierarchische Eins-zu-viele-Entitätsbeziehungen

Mit Dynamics 365 Customer Engagement (on-premises) können Sie eine auf sich selbst verweisende Eins-zu-viele-Entitätsbeziehung als die für eine Entität bestimmte hierarchische Beziehung angeben. Die OneToManyRelationship.IsHierarchical Eigenschaft (OneToManyRelationship.IsHierarchical oder OneToManyRelationshipMetadata.IsHierarchical) kennzeichnet diese Beziehung als die Eins-zu-viele-Beziehung, die für die Entität zu verwenden ist.

Alle Eins-zu-viele-Entitätsbeziehungen stellen einen Typ von Hierarchie dar, doch Beziehungen, die mithilfe der IsHierarchical-Eigenschaft explizit gekennzeichnet sind, sind die einzigen Entitätsbeziehungen, die Hierarchienvisualisierungen in der Anwendung sowie in den neuen Abfrageoperatoren untersützen, um hierarchisch verknüpfte Datensätze abzurufen. Weitere Informationen: Hierarchische Daten abfragen

Ändern des Namens der Web-API-Navigationseigenschaften

Wenn Sie einen benutzerdefinierten Web-API-Navigationseigenschaftsnamen für eine 1:n-Beziehung anwenden, können Sie Werte für die OneToManyRelationshipMetadata.ReferencingEntityNavigationPropertyName- und OneToManyRelationshipMetadata.ReferencedEntityNavigationPropertyName-Eigenschaft festlegen.

Viele-zu-viele-Beziehungen

In einer Viele-zu-viele-Entitätsbeziehung können viele Entitätsdatensätze vielen anderen Entitätsdatensätzen zugeordnet werden. Anders als bei Eins-zu-viele-Beziehungen gibt es kein Suchfeld für eine Entität und daher keine intendierte Hierarchie. Mit einer n:n-Beziehung verknüpfte Datensätze gelten als gleichwertig, und die Beziehung ist reziprok. Eine n: n-Beziehung kann auch auf sich selbst verweisen. Da bei n:n-Beziehungen kein kaskadierender Verhalten vorhanden ist, können Sie einem einzelnen Datensatz einen Verweis auf sich selbst erlauben.

Notiz

Siehe Internet-API: Erstellen einer N:N-Beziehung mit der Web-API für Informationen dazu, wie die Internet-API zum Erstellen einer N:N-Beziehung verwendet wird.

Sie verwenden eine Instanz der Klasse ManyToManyRelationshipMetadata (ManyToManyRelationshipMetadata EntityType oder ManyToManyRelationshipMetadata), wenn Sie mit dieser Art von Entitätsbeziehung arbeiten. Jede Entitätsbeziehung verfügt über einen eindeutigen RelationshipMetadataBase.SchemaName, den Sie verwenden, um diese abzurufen.

Beim Erstellen einer n: n-Entitätsbeziehung wird eine neue Überschneidungsentität erstellt, für die die Eigenschaft EntityMetadata.IsIntersect true ist. Datensätze für diese Entität verfolgen jede einzelne n:n-Beziehung nach. Überschneidungsentitäten können keine benutzerdefinierten Attribute hinzugefügt werden.

Ändern des Namens der Web-API-Navigationseigenschaften

Wenn Sie einen angepassten Web-API-Eigenschaftsnamen für eine Many-to-Many-Beziehung anwenden möchten, können Sie Werte für die Eigenschaften ManyToManyRelationshipMetadata EntityType.Entity1NavigationPropertyName und ManyToManyRelationshipMetadata EntityType.Entity2NavigationPropertyName festlegen.

Konfigurieren von zugehörigen Menüs

Beide Typen von Entitätsbeziehungen erlauben die Konfiguration von Navigationslinks zwischen verknüpften Datensätzen. Verwenden Sie die Eigenschaften Metadata.AssociatedMenuConfiguration in jedem Typ von Entitätsbeziehungsdefinition, um anzugeben, wie die Navigationslinks in einem Entitätsformular angezeigt werden sollen.

Mithilfe dieser Werte wird die Standardkonfiguration für die Beziehung verfügbar. Sie können den Formular-Editor verwenden, um diese Optionen für jedes Formular zu überschreiben. Weitere Informationen: Ändern der Navigation innerhalb eines Formulars

Behavior
Bietet die folgenden Optionen:

  • DoNotDisplay

  • UseCollectionName

  • UseLabel

    Group
    Bietet die folgenden Optionen:

  • Kampagnenreaktionen

  • Marketing

  • Sales

  • Dienst

    Sie können keine neuen Gruppen hinzufügen, aber Sie können den für sie angezeigten Text mithilfe des Formular-Editors ändern.

    Bezeichnung
    Wenn Sie AssociatedMenuBehavior.UseLabel auswählen, müssen Sie eine benutzerdefinierte Beschriftung angeben.

    Auftrag
    Die für den Auftrag angegebene Ganzzahl steuert die relative Position von Navigationselementen in der Gruppe. Je niedriger der Wert, desto höher erscheint das Element im Verhältnis zu den Werten von anderen Elementen in der Gruppe.

Siehe auch

Erstellen und Aktualisieren von Entitätsbeziehungen mit der Web-API
Erweitern des Metadatenmodells für Dynamics 365 Customer Engagement (on-premises)
Entitätsbeziehungsnachrichten
Entitätsbeziehungseignung
Entitätenbeziehungsverhalten
Erstellen von Entitätsbeziehungen
Beispiel: Erstellen von Entitätsbeziehungen
Beispiel: Entitätsbeziehungsinformationen in einer Datei speichern
Entitäts- und Attributzuordnungen
Rufen Sie Datensätze mit n: n-Beziehungen ab, die überschneidende Entitäten verwenden