Es stehen verschiedene Feldtypen zur Verfügung, die hier kurz beschrieben werden. Im Orm Wizard wird auf der Datentabelle ein “Persistent Property” hinzugefügt. In den Eigenschaften können dann verschiedene Einstellungen vorgenommen werden.

Text Field Properties

Textfeld / HTML Felder

Eigenschaften

  • Column Type: String
  • Name: [Beliebiger Feldname]
  • Size: Default / Unlimited / Konkrete Länge

Beim Textfeld muss eine Größe festgelegt werden. Die Standardgröße sind 100 Zeichen. Dabei sollte man beachten, das die Größe sinnvoll gewählt ist. Die Wahl von “Unlimited” für jeden Wert sollte vermieden werden.

Für das Speichern von HTML Inhalten werden zurzeit Textfelder mit der Größe “Unlimited” verwendet. HTML Felder können in Teil-Datentabellen nicht verwendet werden.

Boolesches Feld

Eigenschaften

  • Column Type: Boolean
  • Name: [Beliebiger Feldname]

Datum-Zeit Feld

Eigenschaften

  • Column Type: DateTime
  • Custom Attributes: “ValueConverter(typeof(DevExpress.Xpo.Metadata.UtcDateTimeConverter))”
  • Is Nullable: True / False
  • Name: [Beliebiger Feldname]

Datum-Zeit-Felder werden in Business App grundsätzlich in UTC in die Datenbank geschrieben. Durch den definierten Value Converter arbeitet man im Source Code grundsätzlich mit dem Local Format. Dies muss dringend berücksichtigt werden, ansonsten tauchen entsprechende Zeitverschiebungen auf.

Wiederholendes Datum-Zeit Feld

Um ein Datumsfeld zu erlauben Wiederholungsinformationen zu beinhalten, muss ein weiteres Attribut gesetzt werden.

Zusätzliche Custom Attributes

  • BA.Core.CustomAttributes.RecurrentDateAttribute()

In diesem Fall werden vom System automatisch weitere Spalten angelegt. Das sind [Feldname]_RecurrenceType mit dem Wert 0 für nicht wiederholende und 1 für wiederholende Werte. Und [Feldname]_RecurrenceInfo welches die Wiederholungsinformationen in einem XML Format beinhaltet.

Ausnahmen von Wiederholungen

Im Benutzerinterface von Business App existiert zurzeit keine Möglichkeit Ausnahmen von Wiederholungen anzulegen oder zu verwalten. Es existieren aber Möglichkeiten diese Ausnahmen technisch zu erstellen. Der Kalender und die Mehrfachgruppierung in Ansichten können diese dann darstellen.

Ob und wie man diese Funktionalität schon in Projekten nutzen kann, ist individuell zu erfragen.

Zahlenfelder

Eigenschaften

  • Column Type: [Zahltyp]
  • Is Nullable: True / False
  • Name: [Beliebiger Feldname]

Auswahllistenfeld

Es gibt zwei Arten von Auswahllisten. In der Ersten wird lediglich eine Referenz auf den eigentlichen Wert gespeichert und in der Anderen werden die Werte abgespeichert. Primär wird die Referenz Variante empfohlen.

Referenz

Eigenschaften

  • Column Type: BA.Core.Enums.ValueEnum
  • Custom Attributes: “BA.Core.CustomAttributes.OrmEnumFieldAttribute(BA.Training.Enums.EnumMyEnum.Guid, BA.Core.CustomAttributes.TypeOfOrmEnumField.Normal)”
  • Is Nullable: False
  • Name: [Beliebiger Feldname]
  • Value Converter: BA.Core.Converters.EnumValueConverter

Der Column Type muss beim Ersten Mal dem Datenmodel hinzugefügt werden.

Data Model External Type

In diesem Fall wird von BA beim Starten automatisch eine weitere Datenspalte mit dem Namen [Feldname]_AllValues.angelegt.

Werte

Um eine Auswahllistenfeld zu definieren, indem nur die Werte gespeichert werden, wird ein Property benötigt.

Eigenschaften

  • Column Type: String
  • Custom Attributes: “BA.Core.CustomAttributes.OrmEnumFieldAttribute(BA.Training.Enums.EnumMyEnum.Guid, BA.Core.CustomAttributes.TypeOfOrmEnumField.Simple)”
  • Name: [Beliebiger Feldname]
  • Size: Möglichst konkret (im Zweifelsfall oder Multi-Value unlimited)