# Поддерживаемые типы данных

# Простые (системные) типы

  • System.Boolean;
  • System.Byte;
  • System.Char;
  • System.DateOnly (для .NET 6.0 и выше);
  • System.DateTime;
  • System.DateTimeOffset;
  • System.Decimal;
  • System.Double;
  • System.Guid;
  • System.Int16;
  • System.Int32;
  • System.Int64;
  • System.UInt16;
  • System.UInt32;
  • System.UInt64;
  • System.SByte;
  • System.Single;
  • System.String;
  • System.TimeOnly (для .NET 6.0 и выше);
  • System.TimeSpan;

# Перечисления

  • enum.

Существует возможность выбора режима сериализации значения поля с типом перечисления как числа или как строки.

# Массивы и списки

  • System.Collections.Generic.List<TValue> — списки.
  • System.Array — массивы (включая, многомерные и зубчатые);

В качестве значения TValue — любые поддерживаемые типы данных.

# Словари

  • System.Collections.Generic.Dictionary<TKey, TValue> — коллекции ключ-значение;
  • System.Collections.Generic.KeyValuePair<TKey, TValue> — пара ключ-значение

В качестве ключа TKey может выступать один из следующих типов данных:

  • System.Byte;
  • System.Char;
  • System.Guid;
  • System.Int16;
  • System.Int32;
  • System.Int64;
  • System.SByte;
  • System.String;
  • System.UInt16;
  • System.UInt32;
  • System.UInt64.

В качестве значения TValue — любые поддерживаемые типы данных.

# Типы данных, определенные пользователем

  • Бизнес-объекты — пользовательские классы, содержащие открытый конструктор без параметров и публичные свойства.

# Планируется поддержка

  • System.Net.IPAddress;
  • Microsoft.SqlServer.Types.SqlGeography;
  • Microsoft.SqlServer.Types.SqlGeometry;
  • Microsoft.SqlServer.Types.HierarchyId.

# Не поддерживаются

  • анонимные типы данных.