Tabellendefinitionen in Microsoft Dataverse
Jede Tabelle bietet die Funktionalität, strukturierte Daten zu speichern. Für Entwickler entsprechen die Tabellen den Klassen, die Sie bei der Arbeit mit Daten in Microsoft Dataverse verwenden werden.
Tabellennamen
Jede Tabelle hat einen eindeutigen Namen, der beim Erstellen der Tabelle festgelegt wird. Dieser Name ist auf verschiedene Weise dargestellt:
Eigenschaftenname | Beschreibung |
---|---|
SchemaName |
In der Regel eine Pascal-umkleidete Version des logischen Namen. Zum Beispiel „Konto“ |
CollectionSchemaName |
Eine mehrzahlige Version des Anzeigenamens. Zum Beispiel „Konten“ |
LogicalName |
Alle kleingeschriebene Version des Schemanamens. Zum Beispiel „Konto“ |
LogicalCollectionName |
Alle kleingeschriebene Versionen des Schemanamens. Zum Beispiel „Konten“ |
EntitySetName |
Verwendet. um Sammlungen mit Internet API zu identifizieren. Standardmäßig ist sie gleich wie der logische Sammlungsname. Es ist möglich, den Namen der Entität festzulegen, indem Sie die Definitionen programmatisch aktualisieren. Dies sollte jedoch nur geschehen, bevor irgendein Web-API-Code für die Tabelle geschrieben wird. Weitere Informationen: Namen des Entitätssatzes |
Hinweis
EntitySetName
wird automatisch erzeugt, indem EntityName
in den Plural dieses Namens geändert wird. Beispiel: EntityName: Auto EntitySetName: Autos. Beim manuellen Erstellen einer neuen Tabelle kann die 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 angepasste Tabelle erstellen, wird dem von Ihnen gewählten Namen der Anpassungspräfix-Wert des Solution Publishers vorangestellt, der mit der Lösung verknüpft ist, in der die Tabelle erstellt wurde. Abgesehen vom Namen der festgelegten Entitäten können Sie die Namen einer Tabelle nicht mehr ändern, nachdem sie erstellt wurde. Wenn Sie konsistente Namen für Definitionselemente in Ihrer Lösung wünschen, sollten Sie diese im Kontext einer Lösung erstellen, die Sie in Verbindung mit einem Solution Publisher erstellen, der das gewünschte Anpassungspräfix enthält. Weitere Informationen Lösungsherausgeber
Jede Tabelle hat außerdem drei Eigenschaften, die lokalisierte Werte anzeigen können:
Name | Beschreibung |
---|---|
DisplayName |
Normalerweise gleich wie der Schemaname, können aber Leerzeichen enthalten. Zum Beispiel „Konto“ |
DisplayCollectionName |
Eine Pluralform des Anzeigenamens. Zum Beispiel „Konten“ |
Description |
Ein kurzer Satz, der die Tabelle beschreibt, z. B. Geschäft, das einen Kunden oder potenziellen Kunden darstellt. Die Firma, die bei Geschäftsvorgängen abgerechnet 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. Um lokalisierte Werte hinzuzufügen oder zu bearbeiten, siehe Angepasste Tabellen-, Formular- und Spaltentexte in andere Sprachen übersetzen.
Primärschlüssel
Der Wert der Eigenschaft PrimaryIdAttribute
ist der logische Name der Spalte, die der Primärschlüssel für die Tabelle ist.
Standardmäßig haben alle Tabellen eine einzige GUID-Spalte als eindeutigen Bezeichner namens <table logical name>Id
.
Primärer Name
Der Eigenschaftswert PrimaryNameAttribute
ist der logische Name der Spalte, die den String-Wert speichert, der den Datensatz der Tabelle identifiziert. Dies ist der Wert, der in einen Hyperlink angezeigt wird, um den Datensatz in einer Benutzeroberfläche zu öffnen.
Beispiel: Die Tabelle „Kontakt“ verwendet die Spalte fullname
als primäre Namensspalte.
Hinweis
Nicht jede Tabelle wird einen primären Namen haben. Einige Tabellen sind nicht dafür vorgesehen, in einer Benutzeroberfläche angezeigt zu werden.
Entitätsbilder
Der PrimaryImageAttribute
-Eigenschaftswert wird der logische Name der Bildspalte, die ausgewählt wurde, um den Entitätsdatensatz darzustellen. Dieses Bild kann in einer Anwendung angezeigt werden.
Beispiel: Die Kontakt-Tabelle EntityImage Spalte kann ein Bild des Kontakts speichern.
Hinweis
Dies unterscheidet sich von dem Symbol, das für eine Tabelle in modellbasierten Apps angezeigt wird. Die IconVectorName
-Eigenschaft enthält den Namen der SVG-Webressource, die dieses festlegt.
Weitere Informationen:
- Mithilfe von Code mit Bildspaltendefinitionen arbeiten
- Bildspaltendaten verwenden
- Beispiel: Bildvorgänge über das Dataverse-SDK für .NET
- Beispiel: Bildvorgänge über die Dataverse-API
Arten von Tabellen
Die Funktionalitäten und das Verhalten von Tabellen hängen von mehreren Tabelleneigenschaften ab. Die meisten der Eigenschaften sind verhältnismäßig einfach und haben aussagekräftige Namen. Zu den vier Eigenschaften, die einer weiteren Erklärung bedürfen, gehören: Eigentümerschaft, Aktivitätstabellen, Aktivitätspartei-Tabelle und Untergeordnete Tabellen.
Tabelleneigentum
Tabellen können danach kategorisiert werden, wie die Daten in ihnen besessen werden. Dies ist ein wichtiges Konzept in Bezug darauf, wie die Sicherheit auf Tabellen angewendet wird. Diese Informationen sind in der OwnershipType
-Eigenschaft enthalten. Die folgende Tabelle beschreibt die unterschiedlichen Besitztypen in :
Besitztyp | Beschreibung |
---|---|
Geschäftlich | Daten gehören der Unternehmenseinheit. Zugriff auf die Daten kann auf der Unternehmenseinheitebene gesteuert werden. |
Kein Wert | Daten, die zu keiner anderen Tabelle gehören. |
Organisation | Daten, die der Organisation gehören. Der Zugriff auf die Daten wird auf Organisationsebene gesteuert. |
Benutzer oder Team | Daten, die zu einem Benutzer oder einem Team gehören. Aktionen, die für diese Datensätze ausgeführt werden, können auf Benutzerebene gesteuert werden. |
Wenn Sie neue Tabellen erstellen, sind die einzigen Optionen für die Eigentümerschaft: Organisation oder Benutzer oder Team. Nachdem Sie eine Wahl für diese Option auswählen, können Sie sie nicht mehr ändern. Wählen Sie Benutzer oder Team für eine präzisste Kontrolle darüber, wem Aktionen für Datensätze anzuzeigen oder ausgeführt werden können. Wählen Sie Organisation aus, wenn dieses Maß an Kontrolle nicht erforderlich ist.
Aktivitätstabellen
Eine Aktivität ist eine Aufgabe, die von einem Benutzer ausgeführt wurde oder auszuführen ist. 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 über Aktivitäten werden oft in einer Liste angezeigt, aber die Aktivität benötigt der eindeutige Eigenschaften. Anstatt eine einzige Aktivitätstabelle mit allen möglichen Eigenschaften zu haben, gibt es separate Arten von Aktivitätstabellen und jede von ihnen erbt Eigenschaften von einer Basis ActivityPointer-Tabelle. Bei diesen Tabellen wird die Eigenschaft IsActivity
auf true festgelegt.
Tabelle | Beschreibung |
---|---|
Termin | Verpflichtung, die ein Zeitintervall mit Start/Endzeit und Dauer angibt. |
Aktivität, die unter Verwendung von E-Mail-Protokollen übermittelt wird. | |
Fax | Aktivität, die das Anrufergebnis sowie die Anzahl der Seiten eines Fax 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. |
Social Media-Aktivitäten | Nur zur internen Verwendung. |
Aufgabe | Allgemeine Aktivität, die die auszuführende Arbeit darstellt. |
Wann immer jemand einen Datensatz einer dieser Arten von Aktivitätstabellen erstellt, wird ein entsprechender ActivityPointer
-Tabellendatensatz mit demselben ActivityId
-Einzelbezeichner-Spaltenwert erstellt. Sie können keine Instanzen der ActivityPointer
-Tabelle erstellen, aktualisieren oder löschen, aber Sie können sie abrufen. Damit können Aktivitätstypen in einer Liste angezeigt werden.
Sie können angepasste Aktivitätstabellen erstellen, die sich genauso verhalten.
ActivityParty-Tabelle
Diese Tabelle wird verwendet, um den Spalten der Aktivitätstabelle PartyListType
, die Verweise auf andere Tabellen enthalten, eine Struktur hinzuzufügen. Sie werden diese Tabelle verwenden, wenn Sie Werte für Aktivitätstabellen-Spalten wie Email.to
oder PhoneCall.from
festlegen. Innerhalb der ActivityParty-Tabelle legen Sie die Spalte ParticipationTypeMask fest, um die Rolle zu definieren, die die Referenz spielt. Rollen umfassen Sender
, ToRecipient
, Organizer
und 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, bei denen die Eigenschaft IsChildEntity
wahr ist, haben niemals irgendwelche definierten Zugriffsrechte und sind niemals im Besitz von Benutzern oder Teams. 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 dann Operationen an untergeordneten Tabellen durchführen, wenn sie die gleiche Operation an der zugehörigen Tabelle durchführen können. Untergeordnete Tabellen werden automatisch gelöscht, wenn der Tabellendatensatz, von dem sie abhängen, gelöscht wird.
Zum Beispiel sind PostComment
, PostLike
und PostRole
jeweils untergeordnete Elemente der Tabelle Post
.
Schlüssel
Jede Definition eines alternativen Schlüssels beschreibt eine oder mehrere Spalten in Kombination, die eine Tabelle eindeutig identifizieren. Alternativschlüssel werden in der Regel nur für die Integration mit externen Systemen angewendet. Sie können Alternativschlüssel definieren, um einen Datensatz eindeutig zu identifizieren. Dies ist dann von Nutzen, wenn Sie Daten in ein einzelnes System integrieren, das nicht den Schlüssel des GUID-Bezeichnerwerts unterstützt. Sie können einen einzelnen Spaltenwert oder eine Kombination von Spaltenwerten zur eindeutigen Identifizierung einer Tabelle definieren. Durch das Hinzufügen eines alternativen Schlüssels wird eine Eindeutigkeitsbeschränkung für diese Spalten erzwungen. Sie werden nicht in der Lage sein, einen anderen Datensatz der Tabelle mit denselben Werten zu erstellen oder zu aktualisieren.
Weitere Informationen:
Tabellenzustände
Die meisten Tabellen haben zwei Eigenschaften, um den Status eines Datensatzes zu erfassen. Dies sind StateCode
, für die Status in modellgesteuerten Apps und StatusCode
, die Statusgrund in modellgesteuerten Apps genannt werden.
Beide Spalten enthalten eine Reihe von Auswahlmöglichkeiten, die die gültigen Werte anzeigen. Die Werte der Spalten StateCode
und StatusCode
sind miteinander verknüpft, sodass nur bestimmte StatusCode
-Auswahlmöglichkeiten für eine bestimmte StateCode
gültig sind.
Dies kann je nach Tabelle variieren, aber das allgemeine Muster für viele Tabellen und die Vorgabe für angepasste Tabellen ist dies:
StateCode-Auswahlen | StatusCode-Auswahlen |
---|---|
0 : Aktiv | 1 : Aktiv |
1 : Inaktiv | 2 : Inaktiv |
Einige Tabellen haben unterschiedliche Sätze von Auswahlmöglichkeiten.
Beispiel: PhoneCall
Tabelle StateCode
und StatusCode
Auswahlmöglichkeiten
StateCode | StatusCode |
---|---|
0 : Offen | 1 : Offen |
1 : Abgeschlossen | 2 : Erledigt 4 : Empfangen |
2 : Abgebrochen | 3 : Abgebrochen |
Die Menge der gültigen Statuscodes für eine Tabelle ist nicht festlegbar, aber die Statuscodes sind anpassbar. Sie können weitere StatusCode
-Auswahlen für einen entsprechenden StateCode
hinzufügen.
Für angepasste Tabellen können Sie weitere Kriterien für gültige Übergänge zwischen Zuständen definieren.
Weitere Informationen:
Siehe auch
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).