Einführung in Entitäten

Die Entitäten werden verwendet, um Geschäftsdaten in Dynamics 365 Customer Engagement (on-premises) zu modellieren und zu verwalten. Beispielsweise können Entitäten wie Firma, Kampagne und Vorfall (Anfrage) verwendet werden, um Vertriebs-, Marketing- und Serviceaktivitäten nachzuverfolgen und zu unterstützen. Eine Entität besitzt eine Reihe von Attributen und jedes Attribut stellt ein Datenelement eines bestimmten Typs dar. Beispielsweise enthält die Firmenentität Name-, Address- und OwnerId-Attribute. Vom Konzept her ist eine Entität wie eine Datenbanktabelle, und die Entitätsattribute entsprechen den Tabellenspalten. Die Erstellung einen Entitätsdatensatzes (oder einfach eines Datensatzes) in Dynamics 365 Customer Engagement (on-premises) entspricht dem Hinzufügen einer Zeile in einer Datenbanktabelle. Die Entitäten werden drei Kategorien unterteilt: Systementität, benutzerdefinierte Entität und Geschäftsentität. Als Entwickler, der mit Geschäftsdaten arbeitet, verwenden Sie Geschäftsentitäten und benutzerdefinierte Entitäten. Systementitäten werden von Dynamics 365 Customer Engagement (on-premises) verwendet, sodass alle internen Prozesse, beispielsweise Workflows und asynchrone Aufträge, verarbeitet werden können. Systementitäten können nicht gelöscht oder angepasst werden.

Geschäftsentitäten sind Teil der Dynamics 365 Customer Engagement (on-premises)-Standardinstallation und werden in der Anpassungsbenutzeroberfläche angezeigt. Eine Firma, ein Kontakt und ein Schreiben sind Beispiele für Geschäftsentitäten. Nach der Installation können Sie benutzerdefinierte Entitäten zu Dynamics 365 Customer Engagement (on-premises) hinzufügen, um auf bestimmte Geschäftsanforderungen der Organisation abzuzielen. In einer Dynamics 365 Customer Engagement (on-premises) Lösung können Sie Geschäftsentitäten und benutzerdefinierte Entitäten und zugehörige Attribute so festlegen, dass sie entweder anpassbar oder nicht anpassbar sind. Sie können eine anpassbare Entität ändern, indem Sie diese umbenennen, neue Attribute hinzufügen oder andere diverse Einstellungen ändern, z. B. Duplikaterkennungs- oder Warteschlangenunterstützungseinstellungen. Sie können keine nicht anpassbaren Entitäten ändern. Weitere Informationen zu Anpassung, verwaltete Lösung und nicht verwaltete Lösungen und verwalteten Eigenschaften, siehe Verpacken und Verteilen von Erweiterungen mit Dynamics 365 Customer Engagement (on-premises) Lösungen.

Wenn Sie das früh gebundene Programmiermodell verwenden, wird eine Entität von einer Klasse dargestellt, z. B. der Account-Klasse, die eine Firmenentität darstellt. Entitätsattribute werden durch Klasseneigenschaften dargestellt. Diese Klasse wird von dem Tool CrmSvcUtil erzeugt. Weitere Informationen finden Sie unter (starkes typisierte) WCF-Programmierung mit früher Bindung. Alternativ können Sie Programme schreiben, die mit Entitätsdaten arbeiten, indem eine dynamische Methode verwendet wird. Weitere Informationen finden Sie unter (locker typisierte) WCF-Programmierung mit später Bindung.

Notiz

Unter dem Dynamics 365 Customer Engagement (on-premises) Webdienst wird der Begriff „Entitätsattribut“ synonym für den Begriff „Attribut“ und den Begriff „Eigenschaft“ (Klasseneigenschaft) verwendet.

Entitätsmetadaten

Die Metadaten für eine Dynamics 365 Customer Engagement (on-premises)-Organisation enthalten die Definitionen für die Entitäten, Attribute, und die Beziehungen zwischen den Entitäten. Weitere Informationen finden Sie unter Metadaten und die Datenmodelle in Dynamics 365 Customer Engagement (on-premises). Als Entwickler kommt es oft vor, dass es nützlich ist, alle Metadaten für eine Organisation suchen zu können. Es gibt verschiedene Möglichkeiten, um die Metadaten suchen und darauf verweisen zu können:

Namen, die in Entitätsmetadaten verwendet werden

Entitäten, Attribute und Beziehungen verfügen über verschiedene Namen. In der folgenden Tabelle werden die einzelnen Namen, die in den Metadaten verwendet werden, aufgeführt.

Name Beschreibung
Anzeigename Der Name, der dem Benutzer angezeigt wird.
Anzeigesammlungs-Name Eine mehrzahlige Version des Anzeigenamens. Dies betrifft nur Entitäten.
Logischer Name Der eindeutige Name der Entität oder des Attributs. Dieser Name enthält nur Kleinschreibung.
Schemaname Der Schemaname wird bei Erstellung angegeben. Hierbei ist Eindeutigkeit erforderlich. Er wird verwendet, um den logischen Namen zu erstellen. Dieser Name muss in Pascal-Schreibung sein. Der Schemaname wird verwendet, um die Klasse für die Entität zu erstellen, wenn früh gebundene Programmierung verwendet wird.

Notiz

Für benutzerdefinierte Entitäten, Attribute und Beziehungen, die im Rahmen einer Lösung erstellt wurden, wird das Anpassungspräfix in den logischen Namen und Schemanamen im Publisher.CustomizationPrefix-Attribut definiert. Für benutzerdefinierte Entitäten, die programmgesteuert erstellt wurden, legen Sie das Anpassungspräfix auf eine Zeichenfolge fest, die zwei bis acht Zeichen lang ist, wobei alle alphanumerischenZeichen mit einem Buchstaben beginnen. Es kann nicht mit „mscrm“ anfangen. Weitere Informationen zu Entitätsmetadatenanpassung und Namenskonventionen finden Sie unter Anpassen von Entitäts-Metadaten.

Aktionen für Entitätsdatensätze

Jede Entität unterstützt viele verschiedene Aktionen, z. B. Erstellen oder Löschen eines Datensatzes, oder Zuweisen eines Datensatzes zu einem anderen Benutzer oder Team. Nicht alle Aktionen sind für alle Entitätstypen und -attribute möglich. Für jedes Attribut definieren die Metadaten, ob eine bestimmte Aktion unterstützt wird. Beispielsweise informieren die Eigenschaften eines Attributs, z. B. IsValidForCreate, IsValidForRead und IsValidForUpdate darüber, ob Sie das Attribut erstellen, abrufen oder aktualisieren können. Weitere Informationen: Gültige Vorgänge in Attributen.

Um eine Aktion auszuführen, rufen Sie eine der Methoden in IOrganizationService auf. Um zum Beispiel einen Datensatz in Dynamics 365 Customer Engagement (on-premises) zu erstellen, können Sie die Methode IOrganizationService.Create oder die Methode IOrganizationService.Execute mit der entsprechenden Nachricht CreateRequest verwenden. Sie müssen über die erforderlichen Berechtigungen und Zugriffsrechte verfügen, und diese Aktionen auszuführen. Weitere Informationen finden Sie unter Das Sicherheitsmodell von Dynamics 365 Customer Engagement (on-premises).

In der folgenden Tabelle werden die Aktionen aufgelistet, die für Datensätze für Geschäftsentitäten und benutzerdefinierte Entitäten zulässig sind, und die Methoden und Nachrichten, die Sie verwenden können, um diese Aktionen auszuführen.

Aktion Beschreibung Methoden und/oder Meldung
Erstellen Erstellt einen Datensatz eines bestimmten Entitätstyps, einschließlich benutzerdefinierter Entitäten. IOrganizationService.Create

CreateRequest
Update Ändert den Inhalt eines Datensatzes. IOrganizationService.Update

UpdateRequest
Delete Löscht einen Datensatz. IOrganizationService.Delete

DeleteRequest
Abrufen Ruft einen Datensatz ab. IOrganizationService.Retrieve

RetrieveRequest
Mehrere abrufen Ruft eine Sammlung von Datensätzen ab. IOrganizationService.RetrieveMultiple

RetrieveMultipleRequest
Zuweisen Ändert den Besitz eines Datensatzes. Gültig für Entitäten im Besitz eines Benutzers oder Teams. AssignRequest
Teilen Gewährt, ändert oder widerruft den Zugriff auf einen Datensatz für einen anderen Benutzer oder Team. Gültig für Entitäten im Besitz eines Benutzers oder Teams. GrantAccessRequest

ModifyAccessRequest

RevokeAccessRequest
Zuordnen Stellt Verbindungen zwischen einem Datensatz und einer Sammlung von Datensätzen her, bei denen eine Beziehung zwischen den Entitäten vorhanden ist. AssociateRequest
Zuordnung aufheben Entfernt Verbindungen zwischen einem Datensatz und einer Sammlung von Datensätzen, bei denen eine Beziehung zwischen den Entitäten vorhanden ist. DisassociateRequest
Zustand festlegen Legt den Status eines Datensatzes fest. SetStateRequest

Erstellen

Zum Ausführen dieser Aktion benötigt der Anrufer Erstellungsrechte Zugriffsrechte gelten nicht für die Erstellen-Aktion, aber für den Datensatz, wenn er erstellt wurde.

Um einen Datensatz zu besitzen oder einen neu erstellen Datensatz abzurufen, muss ein Benutzer oder Team auch über Leseberechtigungen und Zugriffsrechte für den neuen Datensatz verfügen. Wenn Sie z. B. über Rechte zum Erstellen für Firmen besitzen, können Sie einen Firmendatensatz erstellen und ihn einem anderen Benutzer oder Team zuweisen. Wenn Sie nicht auch über Leserechte für Firmen und Zugriffsrechte für den neuen Datensatz verfügen, können Sie jedoch keine Firma erstellen und kein Besitzer dieser neuen Firma sein.

Update

Zum Ausführen dieser Aktion muss der Aufrufer über Aktualisierungsrechte und Zugriffsrechte für die Entitätsdatensätze verfügen, die aktualisiert werden.

Wenn Sie einen Datensatz aktualisieren, werden nur die Attribute, für die Sie Daten oder NULL angeben, aktualisiert. Alle anderen Werte bleiben identisch. Wenn Sie außerdem Daten für Attribute angeben, die für Updates ungültig sind, werden diese ignoriert.

Löschen

Zum Ausführen dieser Aktion muss der Aufrufer über Löschrechte und Zugriffsrechte für die Entitätsdatensätze verfügen, die gelöscht werden.

Die kaskadierenden Regeln legen fest, ob verknüpfte Datensätze gleichzeitig gelöscht werden. Weitere Informationen finden Sie unter Verhalten von Entitätsbeziehungen.

In der Regel sollten Sie nur Datensätze löschen, die Sie versehentlich eingegeben haben. Bei einigen Datensatztypen können Sie den Datensatz statt des Löschens deaktivieren oder schließen. Nicht alle Datensatztypen können gelöscht werden.

Abrufen

Zum Ausführen dieser Aktion muss der Aufrufer über Abrufrechte und Zugriffsrechte für die Entitätsdatensätze verfügen, die abgerufen werden.

Mehrere abrufen

Zum Ausführen dieser Aktion muss der Aufrufer über Abrufrechte und Zugriffsrechte für die Entitätsdatensätze verfügen, die abgerufen werden.

Um eine Sammlung von Datensätze basierend auf den Abfrageparametern abzurufen, können Sie entweder einen Abfrageausdruck oder eine FetchXML-Abfragesprache verwenden. Mit Abfrageausdrücken können Sie eine Abfragenstruktur erstellen, indem Sie eine Klassenhierarchie verwenden. Die Methoden, die einen Abfrageausdruck verwenden, geben eine Sammlung stark typisierter Datensätze zurück. Mit FetchXML können Sie eine Abfrage erstellen, indem eine XML-Sprache verwendet wird. FetchXML gibt eine XML-Zeichenfolge zurück. Daher müssen Sie weitere Datenbearbeitungen ausführen, um die Abfrageergebnisse zu verwenden. Weitere Informationen finden Sie unter Erstellen von Abfragen, um Daten abzurufen.

Zuweisen

Für Entitäten im Besitz eines Benutzers oder Teams weisen Sie einen Datensatz einem neuen Besitzer zu. Weitere Informationen finden Sie unter Entitätsbesitz. Zum Ausführen dieser Aktion muss der Aufrufer über Zuweisungsrechte und Zugriffsrechte für die Entitätsdatensätze verfügen.

Die kaskadierenden Regeln legen fest, ob verknüpfte Datensätze gleichzeitig einem anderen Benutzer zugewiesen werden. Weitere Informationen finden Sie unter Verhalten von Entitätsbeziehungen.

Wenn ein Datensatz einem anderen Benutzer oder Team zugewiesen wird, hat der bisherige Besitzer immer noch Zugriff auf diesen Datensatz, wenn das ShareToPreviousOwnerOnAssign-Attribut auf true festgelegt ist. Der bisherige Besitzer ist jedoch nicht mehr im Besitz des Datensatzes.

Notiz

Nachdem der Besitz eines Datensatzes an einen anderen Benutzer geändert wurden, empfängt ein Benutzer einen "Zugriff verfügbar" Fehler beim Versuch, den Datensatz zu verwenden, wenn der Benutzer nur Benutzerrechte für diesen Datensatz hat.

Freigeben

Für Entitäten im Besitz eines Benutzers oder Teams können Sie einen Datensatz für andere Benutzer oder Teams freigeben. Zum Ausführen dieser Aktion muss der Aufrufer über GrantAccess, ModifyAccess und RevokeAccess-Rechte für die Entitätsdatensätze verfügen.

Die kaskadierenden Regeln legen fest, ob verknüpfte Datensätze gleichzeitig freigegeben werden. Weitere Informationen finden Sie unter Verhalten von Entitätsbeziehungen.

Mit der Freigabe können Dynamics 365 Customer Engagement (on-premises)-Benutzer anderen Benutzern bei Bedarf Zugang zu Kundeninformationen geben. Beispielsweise kann ein Vertriebsmitarbeiter entscheiden, eine Verkaufschance für einen anderen Vertriebsmitarbeiter freizugeben, damit beide den Status eines wichtigen Verkaufs nachverfolgen können.

Um einen Datensatz freizugeben, verwenden Sie GrantAccessRequest. Verwenden Sie ModifyAccessRequest, um zu ändern, wie ein Datensatz freigegeben wird. Um alle Freigaben für einen Datensatz zu entfernen, verwenden Sie RevokeAccessRequest.

Ein Benutzer muss Freigaberechte haben, um kundenbezogene Datensätze wie z. B. Kontakte, Firmen, Verkaufschancen, Anfragen und Aufträge für einen anderen Benutzer in Dynamics 365 Customer Engagement (on-premises) freizugeben. Wenn ein Datensatz freigegeben wird, können Sie die Rechte angeben, die für den freigegebenen Datensatz erteilt werden dürfen.

In der folgenden Liste werden die Regeln für die Freigabe von Datensätzen beschrieben:

  • Jeder Benutzer mit Freigabenrechten für einen Datensatz kann ihn für weitere Benutzer oder Teams freigeben.

  • Jeder Benutzer mit Freigabenrechten für einen Datensatz kann Zugriffsrechte für diesen Datensatz festlegen. Diese Zugriffsrechte steuern, wie ein Benutzer, der einen Datensatz freigibt, auf diesen zugreifen kann.

  • Zugriff auf einen freigegebenen Datensatz kann für jedes Zugriffsrecht, beispielsweise Lesen oder Schreiben, festgelegt werden.

  • Zugriffsrechte auf einen freigegebenen Datensatz können für jeden Benutzer, für den der Datensatz freigegeben wird, anders sein.

  • Ein Datensatz kann für denselben Sicherheitsprinzipal nur einmal freigegeben werden. Ein Benutzer kann einen Datensatz freigeben, wenn er Freigabenrechte für diesen Datensatz besitzt.

  • Jeder Benutzer mit Freigabenrechten für einen Geschäftsdatensatz kann die Zugriffsrechte für Benutzer ändern, die den Datensatz freigeben.

  • Jeder Benutzer mit Freigabenrechten für einen Geschäftsdatensatz kann die Freigabe für einen angegebenen Benutzer entfernen, der den Datensatz freigibt.

  • Jeder Benutzer mit Freigabenrechten für einen Geschäftsdatensatz kann die Freigabe für alle Benutzer entfernen, für die der Datensatz vorher freigegeben wurde.

Zuordnen

Zum Ausführen dieser Aktion muss der Aufrufer über Zuordnungsrechte und Zugriffsrechte für die Datensätze verfügen, die aktualisiert werden.

Durch das Zuordnen werden mehrere Zuordnungen in einer Transaktion zwischen dem angegebenen Datensatz und jedem Datensatz in der angegebenen Sammlung für die angegebene Beziehung erstellt.

Bei einer 1:n-Beziehung legt diese Methode das ReferencingAttribute im verknüpften Datensatz für die ID des angegebenen Datensatzes fest.

Bei einer n:n-Beziehung erstellt diese Methode einen Datensatz in der Überschneidungstabelle für die Beziehung, der die ID der referenzierten und nicht referenzierten Datensätze enthält. Der Überschneidungstabellenname wird in der IntersectEntityName-Eigenschaft für die Beziehung definiert.

Zuordnung aufheben

Zum Ausführen dieser Aktion muss der Aufrufer über Zuordnungsaufhebungsrechte und Zugriffsrechte für die Datensätze verfügen, die aktualisiert werden.

Beim Aufheben der Zuordnung wird der Zuordnungsvorgang umgekehrt, indem ggf. die referenzierten und nicht referenzierten Datensätze aktualisiert und der Überschneidungsdatensatz gelöscht wird. Weitere Informationen finden Sie unter Zuordnen.

Zustand festlegen

Zum Ausführen dieser Aktion muss der Aufrufer über SetState-Rechte und Zugriffsrechte für die Datensätze verfügen, die aktualisiert werden. Die SetStateRequest-Meldung aktualisiert die StateCode und StatusCode-Attribute des Entitätsdatensatzes.

Entitätsbesitz

Es gibt verschiedene Arten von Entitätsbesitz. Die meisten Entitäten, einschließlich benutzerdefinierte Entitäten, sind entweder im Besitz der Organisation oder eines Benutzers oder Teams. Es gibt einige Geschäftsentitäten, die keinen Besitzer haben, beispielsweise Rabatttyp (Rabattliste), wobei der Besitz von seinem übergeordneten Entitätsrabatt definiert wird. Der Besitztyp wird zum Zeitpunkt der Erstellung der Entität (Tabelle) konfiguriert. Eine spätere Änderung des Besitztyps wird nicht unterstützt. Der Typ des Besitzes definiert einige der Vorgänge, die für einen Datensatz ausgeführt werden können. Der Besitz für eine Entität wird in der Metadateneigenschaft OwnershipType definiert. Die folgende Tabelle führt die Besitzeigenschaften auf.

Besitztyp Beschreibung
Im Besitz der Organisation Enthält die Daten, die etwas einbeziehen, das von der ganzen Organisation angezeigt werden kann oder dieser gehört. Entitäten im Besitz der Organisation können nicht zugewiesen oder freigegeben werden. So sind beispielsweise Produkte im Besitz der Organisation. Diese Entitäten weisen ein Attribut namens organizationid auf.
Im Besitz des Unternehmens Entitäten, die einer Unternehmenseinheit gehören. Diese Entitäten weisen ein Attribut namens owningbusinessunit auf.
Benutzer- oder Teameigen. Werden einem Benutzer oder einem Team zugewiesen. Diese Entitäten enthalten Daten, die zu Kunden gehören, beispielsweise Firmen oder Kontakte. Die Sicherheit kann gemäß der Unternehmenseinheit für den Benutzer oder das Team definiert werden. Diese Entitäten weisen ein Attribut namens owningteam und owninguser auf.
keine Diese Entitäten sind nicht im Besitz anderer Entitäten.

Zusätzliche Informationen zum Benutzer- oder Team-Besitz

Sie können die AssignRequest-Nachricht verwenden, um den Besitz eines Datensatzes zu ändern. Weitere Informationen finden Sie unter Zuweisen. Sie können die ReassignObjectsOwnerRequest- oder ReassignObjectsSystemUserRequest-Nachricht verwenden, um eine Massenzuweisung aller Datensätze für einen Besitzer auszuführen.

Notiz

Indem Sie den Besitz für Benutzer oder Teams beschränken, beschränken Sie den Zugriff auf Daten für autorisierte Benutzer in der Organisation. Sie können Sie jedoch den Datenzugriff auf zusätzliche Benutzer und Teams erweitern, indem Sie einen Entitätsdatensatz für sie freigeben. Sie können einen Datensatz auch einem anderen Benutzer oder Team zuweisen. Die Konfiguration der Sicherheit für Entitäten im Besitz eines Benutzers oder Teams bietet Ihnen mehr Zugriffsebenen für die Sicherheitsrollen als dies für Entitäten im Besitz der Organisation der Fall ist. Die Sicherheitsrollen für Entitäten im Besitz der Organisation weisen zwei Zugriffsebenen auf: Keine und Global. Die Entitäten im Besitz eines Benutzers oder Teams weisen fünf Zugriffsebenen auf: „Global“, „Tief“, „Lokal“, „Basis“ und „Kein“.

Datensatzzustand und -status

Die meisten Geschäftsentitäten haben zwei Eigenschaften zum Nachverfolgen des Zustands eines Datensatzes. Diese sind StateCode, die in der Webanwendung als „Status“ bezeichnet wird, und StatusCode, die in der Webanwendung als „Statusgrund“ bezeichnet wird. Die StateCode- und StatusCode-Attributwerte sind miteinander verknüpft. Das StateCode-Attribut wird intern verwendet, um den Status der Entität darzustellen. Das StatusCode-Attribut wird verwendet, um diesen Wert für den Endbenutzer anzuzeigen. Der Satz gültiger Zustandscodes für eine Entität ist nicht anpassbar, aber die Statuscodes können angepasst werden. Für die Entität "Anfrage" und benutzerdefinierte Entitäten können Sie zusätzliche Kriterien für gültige Wechsel zwischen Status definieren. Weitere Informationen finden Sie unter Anpassen von Entitätsattribut-Metadaten und Definieren benutzerdefinierter Statusmodellübergänge.

Entitätsbilder

Bestimmte Systementitäten verfügen über Bildattribute. Sie können Bildattribute benutzerdefinierten Entitäten hinzufügen. Wenn eine Entität ein Bildattribut hat, können Sie die PrimaryImageAttribute-Eigenschaft so festlegen, dass sie steuert, ob das Bild in der Anwendung angezeigt wird. Wenn das Bild in der Anwendung angezeigt wird, können Benutzer der Webanwendung Bilder für den Entitätsdatensatz hochladen. Die folgenden Systementitäten verfügen über Bildattribute. Die mit einem Sternchen versehenen werden standardmäßig aktiviert, um sie in der Anwendung anzuzeigen.

  • Konto \*
  • KbArticle
  • Kampagne
  • Vorfall
  • Mitbewerber \*
  • Verbindung
  • Kontakt \*
  • Vertrag
  • TransactionCurrency
  • E-Mail-Serverprofil
  • Ziel
  • Rechnung
  • Lead \*
  • Postfach
  • Verkaufschance (Produkt)
  • Vertriebsauftrag
  • Organisation
  • Produkt \*
  • Publisher \*
  • Warteschlange
  • Ressource \*
  • SalesLiterature
  • Gebiet
  • SystemUser \*

Weitere Informationen Bilddatenattribute.

Siehe auch

Verwaltungs- und Sicherheitsentitäten
Entitätsbeziehungsdiagramme erstellen
Definieren von benutzerdefinierten Statusmodellübergängen
Modellieren Ihrer Geschäftsdaten mit Dynamics 365 Customer Engagement (on-premises)
Entitätsbeziehungsmetadaten
Entitätenbeziehungsverhalten
Die Metadaten und Datenmodelle in Dynamics 365 Customer Engagement (on-premises)
Erweitern des Metadatenmodells für Dynamics 365 Customer Engagement (on-premises)
Packen und Verteilen von Erweiterungen mithilfe von Dynamics 365 Customer Engagement (on-premises) Lösungen
IOrganizationService-Entitäten
Das Sicherheitsmodell von Dynamics 365 Customer Engagement (on-premises)
Beispiel: Festlegen und Abrufen von Entitätsbildern
Beispiel: Zuweisen eines Datensatzes zu einem Team
Beispiel: Datensätze mithilfe von GrantAccess, ModifyAccess und RevokeAccess Nachrichten teilen
Beispiel: Zwei Datensätze zusammenführen
Beispiel: Überprüfen Sie den Datensatzstatus und legen Sie den Status des Datensatzes fest
Beispiel: Mit einem bestimmten Datensatz verknüpfte Rollupdatensätze