Skip to end of metadata
Go to start of metadata

STSdb 4.0 supports wide set of .NET types. The supported types for a table depend on the used table mode. After defining some database terms we can provide strict definition of all supported database types:

Definition: The STSdb 4.0 supported types are:

In portable table mode:

  1. for keys:
    • all linear anonymous types
  1. for records:
    • all anonymous types

NOTE: Via default transformers portable tables can also support all types supported by the tables in direct mode. Via custom transformers the portable tables can support practically all .NET types.

In direct table mode:

1.For keys:

1.1   all linear types

1.2   Enums

1.3   Guid

2.For records:

2.1   all anonymous types

2.2   Enums

2.3   Guid

2.4   Classes (with public default constructor) and structures, containing public read/write properties or fields with types from the 3 groups

2.5   T[], List<T>, Dictionary<K, V> , KeyValuePair<K, V>  and Nullable<T>, where T, K and V are types from the above 4 groups

2.6   Classes (with public default constructor) and structures, containing public read/write properties or fields with types from the 5 groups

The definition is recursive, so the engine can handle very complex types. The supported types however do not include self-defined types – types that contain recursive definition. For example the following type Node is not supported by the engine (unless the user provides custom logic):

public class Node
{
    public long Key { get; set; }
    public string Value { get; set; }
    public Node Left { get; set; }
    public Node Right { get; set; }
}

Graph objects are also not supported by the database.

Linear Types    Go to Home    Data Type Description

  • No labels