[This is preliminary documentation and is subject to change.]
The AmorphousDynamicRow type exposes the following members.Constructors
Name | Description | |
---|---|---|
![]() | AmorphousDynamicRow | Initializes a new instance of the AmorphousDynamicRow class |
Methods
Name | Description | |
---|---|---|
![]() | __ctor |
Developers do not call, lazily injects the statr of this object,
this is needed for speed and other optimizations
(Inherited from DynamicRow.) |
![]() | AfterLoad |
Invoked to allow the row to hydrate its fields/state from AmorphousData bag.
For example, this may be used to reconstruct some temporary object state that is not stored as a part of established business schema.
The operation is performed per particular targetName (name of physical backend).
Simply put, this method allows business code to "specify what to do after object gets loaded from THE PARTICULAR TARGET backend store".
An example: suppose current MongoDB collection stores 3 fields for name, and we want to collapse First/Last/Middle name fields into one field.
If we change rowschema then it will only contain 1 field which is not present in the database, however those 'older' fields will get populated
into AmorphousData giving us an option to merge older 3 fields into 1 within AfterLoad() implementation
|
![]() | ApplyDefaultFieldValues |
Writes default values specified in schema into fields.
Pass overwrite=true to force defaults over non-null existing values (false by default)
(Inherited from Row.) |
![]() | BeforeSave |
Invoked to allow the row to transform its state into AmorphousData bag.
For example, this may be usefull to store extra data that is not a part of established business schema.
The operation is performed per particular targetName (name of physical backend). Simply put, this method allows
business code to "specify what to do before object gets saved in THE PARTICULAR TARGET backend store"
|
![]() | CheckMinMax | (Inherited from Row.) |
![]() | Configure |
In base class applies Config attribute. Useful for typed rows
(Inherited from Row.) |
![]() | ConvertFieldValueToDef |
Converts field value to the type specified by Schema.FieldDef. For example converts GDID->ulong or ulong->GDID.
This method can be overridden to perform custom handling of types,
for example one can assign bool field as "Si" that would convert to TRUE.
This method is called by SetFieldValue(...) before assigning actual field buffer
(Inherited from Row.) |
![]() | CopyFields |
Copies fields from this row into another row/form.
Note: this is shallow copy, as field values for complex types are just copied over
(Inherited from Row.) |
![]() | Equals(Object) |
Object override - sealed. Override Equals(row) instead
(Inherited from Row.) |
![]() | Equals(Row) |
Override to perform custom row equality comparison.
Default implementation equates rows using their key fields
(Inherited from Row.) |
![]() | FilterJSONSerializerField |
Override to filter-out some fields from serialization to JSON, or change field values.
Return name null to indicate that field should be filtered-out(excluded from serialization to JSON)
(Inherited from Row.) |
![]() | ![]() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from ![]() |
![]() | GetClientFieldDef |
Override to perform dynamic substitute of field def for the specified field.
This method is used by client ui/scaffolding to extract dynamic definition for a field
(i.e. field description, requirement, value list etc.) as dictated by business logic.
This method IS NOT used by row validation, only by client that feeds from row's metadata.
The default implementation returns the original field def, you can return a substituted field def
per particular business logic
(Inherited from Row.) |
![]() | GetClientFieldValue |
Override to perform dynamic substitute of field value for the specified field.
This method is used by client ui/scaffolding to extract field values for a field as dictated by business logic.
This method IS NOT used by row validation, only by client that feeds from row's metadata.
The default implementation returns the original GetFieldValue(fdef), you can return a substituted field value
per particular business logic
(Inherited from Row.) |
![]() | GetClientFieldValueList |
Override to perform dynamic lookup of field value list for the specified field.
This method is used by client ui/scaffolding to extract dynamic lookup values
as dictated by business logic. This method IS NOT used by row validation, only by client
that feeds from row's metadata.
This is a simplified version of GetClientFieldDef
(Inherited from Row.) |
![]() | GetDataStoreKey |
Returns values for fields that represent row's primary key
(Inherited from Row.) |
![]() | GetDisplayFieldValue(Int32, String, Func Object, Object ) |
Returns field value as string formatted per target DisplayFormat attribute
(Inherited from Row.) |
![]() | GetDisplayFieldValue(String, String, Func Object, Object ) |
Returns field value as string formatted per target DisplayFormat attribute
(Inherited from Row.) |
![]() | GetEnumerator | (Inherited from Row.) |
![]() | GetFieldValue | (Inherited from DynamicRow.) |
![]() | GetFieldValueDescription(Int32, String, Boolean) |
For fields with ValueList returns value's description per specified targeted schema
(Inherited from Row.) |
![]() | GetFieldValueDescription(String, String, Boolean) |
For fields with ValueList returns value's description per specified targeted schema
(Inherited from Row.) |
![]() | GetHashCode |
Object override - gets hash code from key fields
(Inherited from Row.) |
![]() | ![]() | Gets the (Inherited from ![]() ![]() |
![]() | ![]() | Creates a shallow copy of the current (Inherited from ![]() ![]() |
![]() | PersistConfiguration |
The base class does not implement this method. Override to persist row fields into config node
(Inherited from Row.) |
![]() | SetFieldValue | (Inherited from DynamicRow.) |
![]() | SimpleFilterPredicate |
Returns true if this row satisfies simple filter - it contains the supplied filter string.
The filter pattern may start or end with "*" char that denotes a wildcard. A wildcard is permitted on both sides of the filter value
(Inherited from Row.) |
![]() | ![]() | Returns a string that represents the current object. (Inherited from ![]() |
![]() | Validate |
Performs validation of data in the row returning exception object that provides description
in cases when validation does not pass. Validation is performed not targeting any particular backend
(Inherited from Row.) |
![]() | Validate(String) |
Validates row using row schema and supplied field definitions.
Override to perform custom validations,
i.e. TypeRows may directly access properties and write some validation type-safe code
The method is not expected to throw exception in case of failed validation, rather return exception instance because
throwing exception really hampers validation performance when many rows need to be validated
(Inherited from Row.) |
![]() | ValidateField(String, Schema FieldDef) |
Validates row field using Schema.FieldDef settings.
This method is invoked by base Validate() implementation.
The method is not expected to throw exception in case of failed validation, rather return exception instance because
throwing exception really hampers validation performance when many rows need to be validated
(Inherited from Row.) |
![]() | ValidateField(String, String) |
Validates row field by name.
Shortcut to ValidateField(Schema.FieldDef)
(Inherited from Row.) |
![]() | WriteAsJSON |
Writes row as JSON either as an array or map depending on JSONWritingOptions.RowsAsMap setting.
Do not call this method directly, instead call rowset.ToJSON() or use JSONWriter class
(Inherited from Row.) |
Extension Methods
Properties
Name | Description | |
---|---|---|
![]() | AmorphousData |
Returns data that does not comply with known schema (dynamic data). The field names are NOT case-sensitive
|
![]() | AmorphousDataEnabled |
True by default for rows
|
![]() | Data |
Provides access to raw array of values that this row contains
(Inherited from DynamicRow.) |
![]() | Item Int32 |
Gets/sets field values by positional index(Order)
(Inherited from Row.) |
![]() | Item String |
Gets/sets field values by name
(Inherited from Row.) |
![]() | Schema |
References a schema for a table that this row is a part of
(Inherited from DynamicRow.) |
Explicit Interface Implementations
Name | Description | |
---|---|---|
![]() ![]() | IEnumerable GetEnumerator | (Inherited from Row.) |
See Also