Freigeben über


Tabellendefinitionen in Microsoft Dataverse

Jede Tabelle bietet die Möglichkeit, strukturierte Daten zu speichern. Für Entwickler entsprechen Tabellen den Klassen, die Sie beim Arbeiten mit Daten in Microsoft Dataverse verwenden.

Tabellennamen

Jede Tabelle hat einen eindeutigen Namen, der beim Erstellen definiert ist. Dieser Name wird auf verschiedene Arten dargestellt:

Name-Eigenschaft Description
SchemaName In der Regel eine Pascal-umkleidete Version des logischen Namen. Beispiel: Konto
CollectionSchemaName Eine Pluralform des "Schema"-Namens. Beispiel: Konten
LogicalName Alle kleingeschriebene Version des Schemanamens. Beispiel: Konto
LogicalCollectionName Alle kleingeschriebene Versionen des Schemanamens. Beispielsweise Konten
EntitySetName Wird verwendet, um Sammlungen mit der Web-API zu identifizieren. Standardmäßig entspricht sie dem logischen Auflistungsnamen.
Es ist möglich, den Entitätssatznamen durch programmgesteuertes Aktualisieren der Definitionen zu ändern. Dies sollten Sie jedoch nur tun, bevor web-API-Code für die Tabelle geschrieben wird. Weitere Informationen: Entitätssatzname

Hinweis

EntitySetName wird automatisch generiert, indem EntityName in den Plural dieses Namens umgewandelt wird. Beispiel: EntityName: Auto EntitySetName: Autos. Beim manuellen Erstellen einer neuen Tabelle kann das EntitySetName geändert werden. Vom System erstellte EntitySetName sind immer der Plural von EntityName und diese können nicht über die Client-Schnittstelle geändert werden. Dies gilt sowohl für Systemtabellen als auch für Tabellen, die für N:N-Beziehungen erstellt wurden.

Wenn Sie eine benutzerdefinierte Tabelle erstellen, wird der von Ihnen ausgewählte Name dem Anpassungspräfixwert des Lösungsherausgebers vorangestellt, der der Lösung zugeordnet ist, in der die Tabelle erstellt wurde. Abgesehen vom Entitätssatznamen können Sie die Namen einer Tabelle nicht ändern, nachdem sie erstellt wurde. Wenn Sie konsistente Namen für Definitionselemente in Ihrer Lösung benötigen, sollten Sie sie im Kontext einer Lösung erstellen, die Einem Lösungsherausgeber zugeordnet ist, der das gewünschte Anpassungspräfix enthält. Weitere Informationen: Lösungsherausgeber

Jede Tabelle verfügt außerdem über drei Eigenschaften, die lokalisierte Werte anzeigen können:

Name Description
DisplayName Normalerweise gleich wie der Schemaname, können aber Leerzeichen enthalten. Beispiel: Konto
DisplayCollectionName Eine Pluralform des Anzeigenamens. Beispiel: Konten
Description Ein kurzer Satz, der die Tabelle beschreibt, d. h. Unternehmen, das einen Kunden oder potenziellen Kunden darstellt. Das Unternehmen, das in Geschäftstransaktionen in Rechnung gestellt wird.

Dies sind die lokalisierbaren Werte, die verwendet werden, um auf die Tabellen in einer App zu verweisen. Diese Werte können jederzeit geändert werden. Informationen zum Hinzufügen oder Bearbeiten lokalisierter Werte finden Sie unter Übersetzen von angepassten Tabellen-, Formular- und Spaltentexten in andere Sprachen.

Primärschlüssel

Der PrimaryIdAttribute Eigenschaftswert ist der logische Name der Spalte, die der Primärschlüssel für die Tabelle ist.

Standardmäßig verfügen alle Tabellen über eine einzelne GUID eindeutigen Bezeichnerspalte mit dem Namen: <table logical name>Id.

Primärer Name

Der PrimaryNameAttribute Eigenschaftswert ist der logische Name der Spalte, die den Zeichenfolgenwert speichert, der den Tabellendatensatz identifiziert. Dies ist der Wert, der in einem Link angezeigt wird, um den Datensatz in einer Benutzeroberfläche zu öffnen.

Beispiel: In der Tabelle "Kontakt" wird die fullname Spalte als primäre Namensspalte verwendet.

Hinweis

Nicht jede Tabelle hat einen primären Namen. Einige Tabellen sollen nicht in einer Benutzeroberfläche angezeigt werden.

Entitätsbilder

Der PrimaryImageAttribute Eigenschaftswert ist der logische Name der Bildspalte, die ausgewählt wurde, um den Entitätsdatensatz darzustellen. Dieses Bild kann in einer Anwendung angezeigt werden.

Beispiel: Die Spalte "EntityImage" der Kontakttabelle kann ein Bild des Kontakts speichern.

Hinweis

Dies unterscheidet sich von dem Symbol, das für eine Tabelle in modellgesteuerten Apps angezeigt wird. Die IconVectorName Eigenschaft enthält den Namen der SVG-Webressource, die diese Eigenschaft festlegt.

Weitere Informationen:

Arten von Tabellen

Die Funktionen und das Verhalten von Tabellen hängen von mehreren Tabelleneigenschaften ab. Die meisten dieser Eigenschaften sind relativ einfach und weisen beschreibende Namen auf. Zu den vier Eigenschaften, die einer weiteren Erklärung bedürfen, gehören: Eigentümerschaft, Aktivitätstabellen, Aktivitätspartei-Tabelle und Untergeordnete Tabellen.

Tabellenbesitz

Tabellen können danach kategorisiert werden, wem die Daten innerhalb der Tabellen gehören. Dies ist ein wichtiges Konzept im Zusammenhang mit der Anwendung der Sicherheit auf Tabellen. Diese Informationen sind in der OwnershipType Eigenschaft enthalten. In der folgenden Tabelle werden die verschiedenen Besitzertypen beschrieben:

Besitztyp Description
Geschäft Die Daten gehören zur Geschäftseinheit. Der Zugriff auf die Daten kann auf Der Ebene der Geschäftseinheit gesteuert werden.
Nichts Daten, die nicht einer anderen Tabelle gehören.
Organization Daten gehören zur Organisation. Der Zugriff auf die Daten wird auf Organisationsebene gesteuert.
Benutzer oder Team Daten gehören zu einem Benutzer oder einem Team. Aktionen, die für diese Datensätze ausgeführt werden können, können auf Benutzerebene gesteuert werden.

Wenn Sie neue Tabellen erstellen, sind die einzigen Besitzeroptionen: Organisation oder Benutzer oder Team. Sobald Sie eine Auswahl für diese Option treffen, können Sie sie nicht mehr ändern. Wählen Sie "Benutzer" oder "Team " aus, um die präziseste Kontrolle darüber zu erhalten, wer Aktionen für die Datensätze anzeigen oder ausführen kann. Wählen Sie "Organisation " aus, wenn diese Steuerungsebene nicht erforderlich ist.

Aktivitätstabellen

Eine Aktivität ist eine Aufgabe, die von einem Benutzer ausgeführt oder ausgeführt werden soll. Eine Aktivität ist eine beliebige Aktion, für die ein Eintrag in einem Kalender vorgenommen werden kann.

Aktivitäten werden anders modelliert als andere Arten von Tabellen, die Geschäftsdaten speichern. Daten zu Aktivitäten werden häufig in einer Liste angezeigt, aber jede Art von Aktivität erfordert eindeutige Eigenschaften. Anstatt eine einzelne Aktivitätstabelle mit jeder möglichen Eigenschaft zu haben, gibt es separate Arten von Aktivitätstabellen, und jede davon erbt Eigenschaften von einer Basis-ActivityPointer-Tabelle. Diese Tabellen haben die IsActivity Eigenschaft auf "true" festgelegt.

Table Description
Termin Verpflichtung, die ein Zeitintervall mit Start/Endzeit und Dauer angibt.
E‑Mail Aktivität, die unter Verwendung von E-Mail-Protokollen übermittelt wird.
Fax Aktivität, die das Anrufergebnis sowie die Anzahl der Seiten eines Faxes nachverfolgt und optional eine elektronische Kopie des Dokuments speichert.
Brief Aktivität, die die Zustellung eines Briefs nachverfolgt. Die Aktivität kann die elektronische Kopie des Briefs enthalten.
PhoneCall Aktivität zur Nachverfolgung eines Telefonanrufs.
RecurringAppointmentMaster Der Mastertermin einer Terminserie.
SocialActivity Nur zur internen Verwendung.
Aufgabe Allgemeine Aktivität, die die auszuführende Arbeit darstellt.

Wenn jeder eine dieser Arten von Aktivitätstabellendatensätzen erstellt, wird ein entsprechender ActivityPointer Tabellendatensatz mit demselben ActivityId eindeutigen Bezeichnerspaltenwert erstellt. Sie können keine Instanzen der ActivityPointer Tabelle erstellen, aktualisieren oder löschen, aber Sie können sie abrufen. Auf diese Weise können alle Arten von Aktivitäten in einer Liste zusammen angezeigt werden.

Sie können benutzerdefinierte Aktivitätstabellen erstellen, die sich auf die gleiche Weise verhalten.

ActivityParty Tabelle

Diese Tabelle wird verwendet, um Den Aktivitätstabellenspalten PartyListType Struktur hinzuzufügen, die Verweise auf andere Tabellen enthalten. Sie verwenden diese Tabelle beim Festlegen von Werten für Aktivitätstabellenspalten wie Email.to oder PhoneCall.from. In der Tabelle "ActivityParty" legen Sie die Spalte "ParticipationTypeMask " fest, um die Rolle zu definieren, die der Verweis spielt. Rollen umfassen Sender, ToRecipientund Organizer vieles mehr.

Sie können die Tabelle ActivityParty abfragen, aber Sie können eine Aktivitätspartei außerhalb der Aktivität, auf die sie sich bezieht, nicht erstellen, abrufen, aktualisieren oder löschen. Weitere Informationen:

Untergeordnete Tabellen

Tabellen, in denen die IsChildEntity Eigenschaft wahr ist, verfügen niemals über definierte Berechtigungen und werden niemals im Besitz von Benutzern oder Teams sein. Operationen, die an einer untergeordneten Tabelle durchgeführt werden können, sind an eine Tabelle gebunden, mit der sie über eine N:1-Beziehung verbunden sind. Benutzer können nur Vorgänge für untergeordnete Tabellen ausführen, wenn sie denselben Vorgang in der verknüpften Tabelle ausführen können. Untergeordnete Tabellen werden automatisch gelöscht, wenn der Tabellendatensatz, von dem sie abhängen, gelöscht wird.

Beispielsweise PostComment, PostLike und PostRole sind jeweils untergeordnete Elemente der Post Tabelle.

Schlüssel

Jede alternative Schlüsseldefinition beschreibt eine oder mehrere Spalten in Kombination, die eine Tabelle eindeutig identifizieren. Alternative Schlüssel werden in der Regel nur für die Integration in externe Systeme angewendet. Sie können alternative Schlüssel definieren, um einen Datensatz eindeutig zu identifizieren. Dies ist hilfreich, wenn Sie Daten in ein System integrieren, das keine eindeutigen GUID-Bezeichnerschlüssel unterstützt. Sie können einen einzelnen Spaltenwert oder eine Kombination aus Spaltenwerten definieren, um eine Tabelle eindeutig zu identifizieren. Durch Das Hinzufügen eines alternativen Schlüssels wird eine Eindeutigkeitseinschränkung für diese Spalten erzwungen. Sie können keinen anderen Tabellendatensatz erstellen oder aktualisieren, um dieselben Werte zu haben.

Weitere Informationen:

Tabellenzustände

Die meisten Tabellen weisen zwei Eigenschaften auf, um den Status eines Datensatzes nachzuverfolgen. Diese werden StateCodein modellgesteuerten Apps als Status bezeichnet und StatusCodeals Statusgrund in modellgesteuerten Apps bezeichnet.

Beide Spalten enthalten eine Reihe von Auswahlmöglichkeiten, die die gültigen Werte anzeigen. Die StateCode Werte und StatusCode Spaltenwerte sind verknüpft, sodass nur bestimmte StatusCode Auswahlmöglichkeiten für einen bestimmten StateCodeWert gültig sind.

Dies kann je nach Tabelle variieren, aber das allgemeine Muster für viele Tabellen, und die Standardeinstellung für benutzerdefinierte Tabellen ist dies:

StateCode-Auswahlmöglichkeiten StatusCode-Auswahlmöglichkeiten
0: Aktiv 1: Aktiv
1: Inaktiv 2: Inaktiv

Einige Tabellen haben unterschiedliche Auswahlmöglichkeiten.

Beispiel: PhoneCall Tabelle StateCode und StatusCode Auswahlmöglichkeiten

StateCode StatusCode
0: Öffnen 1: Öffnen
1: Abgeschlossen 2: Hergestellt
4: Empfangen
2: Abgebrochen 3: Abgebrochen

Der Satz gültiger Statuscodes für eine Tabelle kann nicht angepasst werden, aber die Statuscodes können angepasst werden. Sie können weitere StatusCode-Auswahlen für einen entsprechenden StateCode hinzufügen.

Bei benutzerdefinierten Tabellen können Sie weitere Kriterien für gültige Übergänge zwischen Status definieren.

Weitere Informationen:

Siehe auch

Dataverse-Tabellen