Teilen über


Spaltendefinitionen

Tabellen enthalten eine Sammlung von Spalten, die die Daten darstellen, die in jedem Datensatz enthalten sein können. Entwickler müssen die verschiedenen Typen von Spalten verstehen und wissen, wie man mit ihnen arbeitet.

Namen von Spalten

Wie bei Tabellen hat jede Spalte einen eindeutigen Namen, der beim Erstellen definiert wird. Dieser Name ist auf verschiedene Weise dargestellt:

Name des Dataflows Beschreibung
SchemaName In der Regel eine Pascal-umkleidete Version des logischen Namen. Beispiel: AccountNumber
LogicalName Alle kleingeschriebene Namen. Beispiel: accountnumber

Wenn Sie eine angepasste Spalte erstellen, wird dem von Ihnen gewählten Namen der Anpassungspräfix-Wert des Lösungsherausgebers vorangestellt, der mit der Lösung verknüpft ist, in der die Spalte erstellt wurde.

Sie können die Namen einer Spalte nicht mehr ändern, nachdem sie erstellt wurde.

Jede Spalte hat auch zwei Eigenschaften, die lokalisierte Werte anzeigen können. Die Werte dieser Eigenschaften werden verwendet, um auf die Spalten in einer App zu verweisen.

Name des Dataflows Beschreibung
DisplayName Normalerweise gleich wie der Schemaname, können aber Leerzeichen enthalten. Zum Beispiel: Firmennummer
Description Ein kurzer Satz, der die Spalte beschreibt oder eine Anleitung für den Benutzer bietet. Zum Beispiel: Geben Sie eine ID-Nummer oder einen ID-Code für die Firma ein, um sie in Systemansichten schnell suchen und erkennen zu können.
In modellgesteuerten Apps werden diese Informationen angezeigt, wenn Benutzer den Mauszeiger über die Spalte in einem Formular bewegen.

Dies sind die lokalisierbare Werte, die verwendet werden, um auf die Spalten 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.

Typen von Spalten

Die Eigenschaft AttributeTypeName beschreibt den Typ einer Spalte. Diese Eigenschaft enthält einen Wert vom Typ AttributeTypeDisplayName, der eine Bezeichnung für jeden der verschiedenen existierenden Typen von Spalten bereitstellt.

Hinweis

Lassen Sie sich nicht von der AttributeType-Eigenschaft verwirren. Die Werte in dieser älteren Eigenschaft sind mehrheitlich auf AttributeTypeName abgestimmt, außer dass ImageAttributeMetadata und MultiSelectPicklistAttributeMetadata als Virtual angezeigt werden. Beziehen Sie sich eher auf die Eigenschaft AttributeTypeName als auf die Eigenschaft AttributeType.

In der folgende Tabelle:

  • Diese Typen sind zum Vergleich nach Kategorie gruppiert.
  • Für jeden AttributeTypeDisplayName-Wert ist die entsprechende .NET-Assembly AttributeMetadata abgeleitete Klasse enthalten, wo verfügbar. Es ist keine 1:1-Beziehung zwischen diesen Typen und der AttributeTypeDisplayName-Beschriftung.
  • Diejenigen Spaltentypen, die als angepasste Spalten erstellt werden können, enthalten das entsprechende Label, das in der Benutzeroberfläche angezeigt wird.
Kateg. AttributeTypeDisplayName/
AttributeMetadata Typ
Kann erstellen/
Beschriftung
Beschreibung
Kategorisierung BooleanType
BooleanAttributeMetadata
Ja
Zwei Optionen
Enthält den ausgewählten Wert von Ja/Nein, der normalerweise einen Wert wahr oder falsch angibt.
Weitere Informationen: Auswahl
Kategorisierung EntityNameType
EntityNameAttributeMetadata
Nein Enthält einen Wert, der einer Tabelle im System entspricht. Nur zur internen Verwendung.
Kategorisierung MultiSelectPicklistType
MultiSelectPicklistAttributeMetadata
Ja
MultiSelect-Optionssatz
Enthält mehrere ausgewählte Werte, wobei mehrere Werte ausgewählt werden können.
Weitere Informationen:
Auswahl
Auswahlspalten
Kategorisierung PicklistType
PicklistAttributeMetadata
Ja
Optionssatz
Enthält den ausgewählten Wert, bei dem eine Option ausgewählt werden kann.
Weitere Informationen: Auswahl
Kategorisierung StateType
StateAttributeMetadata
Nein Enthält den Wert, der den Status eines Tabellendatensatzes beschreibt.
Weitere Informationen: Auswahl
Kategorisierung StatusType
StatusAttributeMetadata
Nein Enthält den Wert, der den Grund für den Status eines Tabellendatensatzes beschreibt.
Weitere Informationen: Auswahl
Abholung CalendarRulesType Nein Enthält eine Sammlung von CalendarRules Tabellendatensätzen.
Es gibt keine Spalten, die diesen Typ verwenden. Beim Generieren eines Proxys erstellt das Tool zur Codegenerierung zwei simulierte Spalten, die in der Definition nicht vorhanden sind. Diese Spalten stellen eine Ansicht der Kalenderregel-Datensätze dar, die in einer 1:N-Beziehung zum Tabellendatensatz stehen.
Abholung PartyListType Nein Enthält eine Sammlung von ActivityParty-Tabellendatensätzen.
Weitere Informationen: ActivityParty-Tabelle
Datum und Uhrzeit DateTimeType
DateTimeAttributeMetadata
Ja
Datum und Uhrzeit
Enthält einen Datums- und einen Uhrzeitwert.
Alle Datums- und Zeitspalten unterstützen Werte ab dem 1.1.1753 12:00 Uhr.
Datei FileType
FileAttributeMetadata
Ja
Datei
Enthält Daten zur Unterstützung des Abrufs von Binärdaten für einen Tabellendatensatz.
Weitere Informationen: Mithilfe von Code mit Dateispaltendefinitionen arbeiten
Image ImageType
ImageAttributeMetadata
Ja
Image
Enthält Daten zur Unterstützung des Abrufs von Bilddaten für einen Tabellendatensatz.
Weitere Informationen: Entitätsbilder
Verwaltete Eigenschaft ManagedPropertyType
ManagedPropertyAttributeMetadata
Nein Enthält Daten, die beschreiben, ob die im Datensatz der Tabelle gespeicherte Lösungskomponente angepasst werden kann, wenn sie in einer verwalteten Lösung enthalten ist.
Weitere Informationen: Verwaltete Eigenschaften
Menge BigIntType
BigIntAttributeMetadata
Ja Enthält einen BigInt-Wert.
Menge DecimalType
DecimalAttributeMetadata
Ja
Dezimalzahl
Enthält einen Decimal-Wert. Die Precision-Eigenschaftensätze der Berechtigungsebene der Genauigkeit.
Menge DoubleType
DoubleAttributeMetadata
Ja
Gleitkommazahl
Enthält einen Double-Wert. Die Precision-Eigenschaftensätze der Berechtigungsebene der Genauigkeit.
Menge IntegerType
IntegerAttributeMetadata
Ja
Ganze Zahl
Enthält einen Int-Wert
Menge MoneyType
MoneyAttributeMetadata
Ja
Währung
Enthält einen Decimal-Wert. Die PrecisionSource-Eigenschaft bestimmt, wo die Ebene der Genauigkeit festgelegt ist.
0: Die Precision-Eigenschaft
1: Die Spalte Organization.PricingDecimalPrecision
2: Die Spalte TransactionCurrency.CurrencyPrecision im Tabellendatensatz
Verweis CustomerType
LookupAttributeMetadata
Ja
Kunde
Enthält einen Verweis entweder auf einen Konto- oder einen Kontakt-Tabellendatensatz.
Verweis LookupType
LookupAttributeMetadata
Ja
Suche
Enthält einen Verweis auf einen Tabellendatensatz. Die logischen Namen der gültigen Datensätze werden normalerweise in der Eigenschaft Targets der Spalte gespeichert.
Verweis OwnerType
LookupAttributeMetadata
Nein Enthält einen Verweis auf einen Datensatz der Benutzer- oder Teamtabelle.
Zeichenfolge MemoType
MemoAttributeMetadata
Ja
Mehrere Textzeilen
Enthält einen Zeichenwert der in einem mehrzeiligen Textfeld angezeigt werden soll.
Zeichenfolge StringType
StringAttributeMetadata
Ja
Einzelne Textzeile
Enthält einen Zeichenfolgenwert der in einem einzeiligen Textfeld angezeigt werden soll.
Eindeutiger Bezeichner UniqueidentifierType
UniqueIdentifierAttributeMetadata
Nein Enthält einen Wert des eindeutigen GUID- Bezeichners.
Virtuell VirtualType Nein Diese Spalten können nicht im Code verwendet und können im Allgemeinen ignoriert werden.

Unterstützte Operationen und Formularverwendung für Spalten

Jede Spalte enthält boolesche Eigenschaften, die die Arten von Operationen beschreiben, an denen sie teilnehmen kann und wie sie in einem Formular sein kann.

Eigenschaften Beschreibung
IsRequiredForForm Ob die Spalte in einem Formular enthalten sein muss
IsValidForCreate Ob der Wert der Spalte in einer Erstellungsoperation festgelegt werden kann
IsValidForForm Ob die Spalte als Spalte in ein Formular aufgenommen werden kann
IsValidForRead Ob der Wert der Spalte abgerufen werden kann
IsValidForUpdate Ob der Spaltenwert in einem Aktualisierungsvorgang festgelegt werden kann

Wenn Sie versuchen, in einem Erstellungs- oder Aktualisierungsvorgang einen Wert für eine Spalte festzulegen, die für diesen Vorgang nicht gültig ist, wird der Wert ignoriert. Wenn Sie versuchen, eine Spalte abzurufen, die nicht zum Lesen gültig ist, wird ein Nullwert zurückgegeben.

Spalte Anforderungsstufe

Die RequiredLevel Eigenschaft ist eine boolesche verwaltete Eigenschaft, die beschreibt, ob ein Spaltenwert erforderlich ist.

Diese Eigenschaft kann einen der folgenden Werte sein:

Name Value UI-Beschriftung Beschreibung
None 0 Optional Die Anforderungen werden angegeben.
SystemRequired 1 Systemabhängig Dataverse erfordert, dass eine Spalte einen Wert hat.
ApplicationRequired 2 Eingabe erforderlich Die Anwendung erfordert, dass die Spalte einen Wert hat.
Recommended 3 Eingabe empfohlen Es wird empfohlen, dass die Spalte einen Wert hat.

Dataverse erzwingt die Option SystemRequired nur für Spalten, die vom System erstellt wurden. Angepasste Spalten können nicht auf die Verwendung der Option SystemRequired festgelegt werden. Dataverse gibt keinen Fehler zurück, wenn eine Spalte mit angewendeter ApplicationRequired keinen Wert hat.

Modellgesteuerte Apps erzwingen die ApplicationRequired-Option und verwenden eine andere Präsentation für die Recommended-Option. Ersteller benutzerdefinierter Clients können diese Informationen brauchen, um ähnliche Überprüfungs- oder Präsentationsoptionen anzufordern.

Da RequiredLevel eine verwaltete Eigenschaft ist, können Sie als Herausgeber einer verwalteten Lösung entscheiden, ob Benutzer Ihrer Lösung diese Einstellungen für Spalten in Ihrer Lösung ändern können.

Weitere Informationen: Verwaltete Eigenschaften

Formel-, Rollup- und berechnete Spalten

Formel-, Rollup- und berechnete Spalten befreien den Anwender von der manuellen Durchführung von Berechnungen und ermöglichen ihm, sich auf seine Arbeit zu konzentrieren. Systemadministratoren können eine Spalte definieren, die den Wert vieler allgemeiner Berechnungen enthält, ohne mit einem Entwickler arbeiten zu müssen. Entwickler können die Plattformfunktionen auch dazu verwenden, um diese Berechnungen anzustellen, anstatt dies im eigenen Code zu tun.

Weitere Informationen:

Format der Spalte

Die Formatwerte für die Spalte steuern, wie sie in modellgesteuerten Apps angezeigt wird. Entwickler benutzerdefinierter Apps verwenden diese Informationen, um ähnliche Erfahrungen zu erstellen.

Ganzzahlige Formate

Verwenden Sie die Eigenschaft Format mit Integer-Spalten, um alternative Benutzererfahrungen für diesen Typ anzuzeigen.

Option Beschreibung
None Zeigt ein Textfeld, um einen Zahlenwert zu bearbeiten
Duration Zeigt eine Dropdownliste an, die Zeitintervallen enthält. Ein Benutzer kann einen Wert in der Liste auswählen oder einen ganzzahligen Wert eingeben, der die Anzahl von Minuten darstellt.
TimeZone Zeigt eine Dropdownliste an, die eine Liste von Zeitzonen enthält.
Language Zeigt eine Dropdownliste an, die eine Liste von Sprachen enthält, die für die Organisation aktiviert sind. Wenn keine anderen Sprachen aktiviert wurden, ist die Ausgangssprache die einzige Option. Der gespeicherte Wert ist der LCID-Wert für die Sprache.

Zeichenfolgenformate

Verwenden Sie die FormatName Eigenschaft mit Zeichenfolgenspalten, um Werte von StringFormatName festzulegen, um zu steuern, wie die Zeichenfolgenspalte formatiert wird.

Name des Dataflows Beschreibung
Email Die Formular-Spalte validiert den Textwert als E-Mail-Adresse und erstellt einen mailto-Link in der Spalte.
PhoneNumber Die Formular-Spalte enthält einen Link, um einen Telefonanruf über Skype zu initiieren.
PhoneticGuide Nur zur internen Verwendung.
Text Das Formular zeigt ein Textfeld an.
TextArea Das Formular zeigt eine Textbereichsspalte an.
TickerSymbol Das Formular zeigt einen Link an, der sich öffnet, um ein Angebot für das Aktientickersymbol anzuzeigen.
URL Das Formular zeigt einen Link an, um die URL zu öffnen.
VersionNumber Nur zur internen Verwendung.

Datum- und Zeitformate

Die Eigenschaft DateTimeBehavior steuert das Verhalten für Datums- und Zeitspalten. Es gibt drei Optionen:

Option Kurze Beschreibung
UserLocal Speichert den Datums- und Uhrzeitwert als UTC-Wert im System.
DateOnly Speichert den tatsächlichen Datumswert mit dem Zeitwert als 00:00 Uhr (00:0000) im System.
TimeZoneIndependent Speichert die tatsächlichen Datums- und Uhrzeitwerte im System unabhängig von der Benutzerzeitzone.

Verwenden der Format-Eigenschaften, um zu steuern, wie beispielsweise Wert in einer modellgesteuerten App unabhängig von DateTimeBehavior angezeigt werden.

Option Beschreibung
DateAndTime Datum und Uhrzeit vollständig anzeigen
DateOnly Nur das Datum anzeigen.

Weitere Informationen: Verhalten und Format der Datums- und Uhrzeitspalten

Auto-Nummern-Spalten

Sie können für jede Tabelle eine Spalte mit automatischer Nummerierung hinzufügen. Derzeit können Sie die Spalte programmatisch hinzufügen. Es gibt keine Benutzeroberfläche, um diesen Typ von Spalte hinzuzufügen. Weitere Informationen: Spalten mit automatischer Nummerierung erstellen

Auswahl

Spalten, die einen Satz von Optionen anzeigen, können auf einen von der Spalte festgelegten Satz von Optionen verweisen oder sie können auf einen separaten Satz von Optionen verweisen, der von mehr als einer Spalte gemeinsam genutzt werden kann. Dies ist nützlich, wenn Werte in einer Spalte auch für andere Spalten gelten. Durch das Verweisen auf einen allgemeinen Satz von Optionen können die Optionen an einem zentralen Ort verwaltet werden. Die Optionen, die gemeinsam genutzt werden können, sind globale Optionen. Diejenigen, die innerhalb der Spalte definiert sind, sind lokale Auswahl.

Optionen Daten abrufen

Das SDK für .NET bietet Anforderungsklassen, mit denen Sie die von einer Spalte verwendeten Optionen abrufen können.

Optionen mithilfe des SDK für .NET abrufen

Jede der Spalten mit Optionen erbt von EnumAttributeMetadata und enthält eine OptionSet-Eigenschaft. Diese Eigenschaft enthält OptionSetMetadata, welche Optionen in der Optionseigenschaft enthalten.

Mit dem SDK für .NET können Sie die folgenden Anforderungsklassen verwenden, um Informationen über die Auswahl abzurufen:

Anforderungsklasse Beschreibung
RetrieveAllOptionSetsRequest Ruft Daten über alle globalen Auswahlen ab
RetrieveAttributeRequest Ruft Daten zu einer Spalte einschließlich einer beliebigen Auswahl ab
RetrieveMetadataChangesRequest Ruft Metadaten auf Basis einer Abfrage ab, die Auswahlen umfassen kann
Weitere Informationen: Abfrageschemadefinitionen
RetrieveOptionSetRequest Ruft Daten über eine globale Auswahl ab.

Weitere Informationen:

Verwenden der Web-API zum Abrufen von Auswahlwerten

Die Web-API bietet einen RESTful-Stil für die Abfrage von Auswahlwerten. Sie können eine lokale oder globale Auswahl abrufen, indem Sie die Spalte innerhalb einer Tabelle abrufen. Das folgende Beispiel gibt OptionSetMetadata für die Auswahl zurück, die in der Account.AccountCategoryCode-Eigenschaft enthalten ist.

GET <organization url>/api/data/v9.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='accountcategorycode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet

Mit der Web API können Sie auch die RetrieveMetadataChanges-Funktion abrufen.

Weitere Informationen: Abfrage von Tabellendefinitionen mithilfe der Web API> Attribute abrufen

Zuordnung von Spalten

Wenn Sie einen neuen Tabellendatensatz im Kontext eines bestehenden Tabellendatensatzes erstellen, können Sie bestimmte Werte aus dem bestehenden Tabellendatensatz automatisch als Standardwerte für den neuen Tabellendatensatz übernehmen. Dadurch wird die Dateneingabe für Personen geführt , die modellgesteuerte Apps verwenden. Anwendungsbenutzer sehen die zugeordneten Werte und können sie bearbeiten vor dem Speichern der Entität.

Für Entwickler, die benutzerdefinierte Clients erstellen, kann das gleiche Verhalten erreicht werden, indem die InitializeFrom-Meldung (SDK InitializeFromRequest-Klasse oder Web-API InitializeFrom-Funktion) verwendet wird, um die Entitätsdaten mit konfigurierten festgelegten Standardwerten abzurufen.

Weitere Informationen

Logische Spalten

Logische Spalten enthalten Werte, die in anderen Datenbanktabellen als andere Spalten in der Tabelle gespeichert werden. In den meisten Fällen ist diese interne Implementierung nicht relevant zum Arbeiten mit Dataverse. Wenn Sie logische Spalten als Quellen für ein berechnetes Feld verwenden, können die Werte im berechneten Feld nicht sortiert werden. Verwenden Sie die Eigenschaft AttributeMetadata.IsLogical, um zu erkennen, ob ein Attribut ein logisches Attribut ist.

Siehe auch

Dataverse-Tabellen

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).