Class SoField
Field description according to the deployed dictionary.
Assembly: SoDataBase.dll
Syntax
public sealed class SoField : IEquatable<SoField>
Fields
_hashFlags
Declaration
public HashFlags _hashFlags
Field Value
Type |
Description |
SuperOffice.CD.DSL.V1.StepModel.HashFlags |
|
Properties
AdditionalValues
AdditionalValues key/value dictionary from the DatabaseModel
Declaration
public Dictionary<string, string> AdditionalValues { get; }
Property Value
AutoGenerateGuid
Should this field be auto-populated with a GUID on insert? The parent SoTable should also have this flag set, if true
Declaration
public bool AutoGenerateGuid { get; }
Property Value
ConceptualType
Declaration
public DictFieldType ConceptualType { get; }
Property Value
Type |
Description |
SuperOffice.CD.DSL.V1.StepModel.DictFieldType |
|
DbName
Name of the field as in the database
Declaration
public string DbName { get; }
Property Value
DefaultActiveUser
If the field is an ej_user FK, and null, then it should be set to the current associate.ej_userId; this functionality is only applicable to CS ExtraFields
Declaration
public bool DefaultActiveUser { get; }
Property Value
DefaultNow
If the field is a date/time, and null, then it should be set to DateTime.Now; this functionality is only applicable to CS ExtraFields
Declaration
public bool DefaultNow { get; }
Property Value
DefaultValue
Default value for new records, from the database model
Declaration
public object DefaultValue { get; }
Property Value
DoNotTrimTrailingWhitespace
Trailing whitespace (' ', '\t', '\r', '\n') is usually trimmed by SuperOffice.Data.Private.StringTrimmerUpdater; unless this flag
has been set by an AdditionalValue from SuperOffice.CD.DSL.Database.DbModelConstants.DoNotTrimTrailingWhitespace
Declaration
public bool DoNotTrimTrailingWhitespace { get; }
Property Value
FieldNumber
The complete field number as used by SODBIF in the win 32 client (e.g. TableNumber << 8 + Index).
Declaration
public int FieldNumber { get; }
Property Value
GenerationState
Relation between the generated code in NetServer and the actual database state, applies to both tables and fields
Declaration
public CodeGenerationState GenerationState { get; }
Property Value
Index
Relative index of the field in the table. The first field (e.g. primary key) is 0
Declaration
public int Index { get; }
Property Value
Is this an eJournal extra field (fields added to existing tables through the CS Admin user interface)
Declaration
public bool IsEjournalExtraField { get; }
Property Value
IsForeignKey
Declaration
public bool IsForeignKey { get; }
Property Value
IsFreetextSource
Is this field marked as a source for freetext indexing
Declaration
public bool IsFreetextSource { get; }
Property Value
IsHashField
Is this field the container of a row-level hash checksum?
Declaration
public bool IsHashField { get; }
Property Value
IsHashSource
Is this field a source for a row-level hash checksum?
Declaration
public bool IsHashSource { get; }
Property Value
IsNotNull
Is the field NOT NULL in the database?
Declaration
public bool IsNotNull { get; }
Property Value
IsPrimaryKey
Is the field a primary key
Declaration
public bool IsPrimaryKey { get; }
Property Value
IsRecordId
Is this field the record id part of a 'universal relation' (consisting of table number + record id)
Declaration
public bool IsRecordId { get; }
Property Value
IsRegisteredAssociate
Is this the automatically updated registered by (associate id) field
Declaration
public bool IsRegisteredAssociate { get; }
Property Value
IsRegisteredDate
Is this the automatically updated registered date field
Declaration
public bool IsRegisteredDate { get; }
Property Value
IsRequiredForFreetext
Is this field marked as "required for freetext indexing"
Declaration
public bool IsRequiredForFreetext { get; }
Property Value
IsSoundexSource
Is this field marked as a source for soundex (metaphone) calculations
Declaration
public bool IsSoundexSource { get; }
Property Value
IsSoundexTarget
Is this field marked as a target for soundex (metaphone) calculations
Declaration
public bool IsSoundexTarget { get; }
Property Value
IsTableNumber
Is this field the table number part of a 'universal relation' (consisting of table number + record id)
Declaration
public bool IsTableNumber { get; }
Property Value
IsUpdatedAssociate
Is this the automatically updated last updated by (associate id) field
Declaration
public bool IsUpdatedAssociate { get; }
Property Value
IsUpdatedDate
Is this the automatically updated last updated field
Declaration
public bool IsUpdatedDate { get; }
Property Value
IsValidFrom
Is this a 'valid from' field
Declaration
public bool IsValidFrom { get; }
Property Value
IsValidTo
Is this a 'valid to' field
Declaration
public bool IsValidTo { get; }
Property Value
Length
Declaration
public int Length { get; }
Property Value
Name
Conceptual name of the field
Declaration
public string Name { get; }
Property Value
PartOfFulltextIndex
Is this field part of a fulltext index/search mechanism? Valid only for databases that support fulltext indexing
Declaration
public bool PartOfFulltextIndex { get; }
Property Value
Set of privacy tags from the DatabaseModel
Declaration
public HashSet<string> PrivacyTags { get; }
Property Value
RelationTarget
Gets the first relation table where foreignkey matches this SoField, or null if none exists.
Declaration
public SoTable RelationTarget { get; }
Property Value
Table
Parent Table, the table which the field belongs to.
Declaration
public SoTable Table { get; }
Property Value
TextExtension
Is this a name or tooltip field in a list table, that may have its value extended through (max 2) text records?
Declaration
public SoField.TextExtensionType TextExtension { get; }
Property Value
TimeZoneConvert
DateTime fields may be subject to Timezone-related conversions, which is a quite tricky subject. Functionality is enabled by
the AdditionalValue SuperOffice.CD.DSL.Database.DbModelConstants.TimeZoneConvert
Declaration
public bool TimeZoneConvert { get; }
Property Value
Type
Get base-type of the field within NetServer. Enumerators are usually of type Int16.
Declaration
public Type Type { get; }
Property Value
Methods
Equals(SoField)
Overrided equals comparer that is valid accross database sessions
Declaration
public bool Equals(SoField other)
Parameters
Type |
Name |
Description |
SoField |
other |
Object to compare too
|
Returns
Type |
Description |
Boolean |
True if equal
|
Equals(Object)
Overrided equals comparer that is valid accross database sessions
Declaration
public override bool Equals(object obj)
Parameters
Type |
Name |
Description |
Object |
obj |
Object to compare too
|
Returns
Type |
Description |
Boolean |
True if equal
|
Overrides
GetDefaultValue()
Declaration
public object GetDefaultValue()
Returns
GetHashCode()
Hash code valid accross database sessions.
Declaration
public override int GetHashCode()
Returns
Type |
Description |
Int32 |
Hash code valid accross database sessions.
|
Overrides
ToString()
Name of the field for debug purposes.
Declaration
public override string ToString()
Returns
Type |
Description |
String |
Name of the field for debug purposes.
|
Overrides
Operators
Equality(SoField, SoField)
Declaration
public static bool operator ==(SoField x, SoField y)
Parameters
Returns
Inequality(SoField, SoField)
Declaration
public static bool operator !=(SoField x, SoField y)
Parameters
Returns
Implements
Extension Methods
EnumUtil.MapEnums<From, To>(From)