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 derAttributeTypeDisplayName
-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 -Eigenschaft1: 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:
- Definition von Rollupspalten, die Werte aggregieren
- Definition berechneter Spalten für das Automatisieren von Berechnungen
- Formel-, Rollup- und berechnete Spalten
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:
- Erstellen und Bearbeiten globaler Auswahlmöglichkeiten – Übersicht
- Beispiel: Speichern von Auswahl-/Auswahllisteninformationen in eine Datei
- Auswahlen anpassen
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
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).