XyloCode.BusinessData
1.0.3
Prefix Reserved
See the version list below for details.
dotnet add package XyloCode.BusinessData --version 1.0.3
NuGet\Install-Package XyloCode.BusinessData -Version 1.0.3
<PackageReference Include="XyloCode.BusinessData" Version="1.0.3" />
paket add XyloCode.BusinessData --version 1.0.3
#r "nuget: XyloCode.BusinessData, 1.0.3"
// Install XyloCode.BusinessData as a Cake Addin #addin nuget:?package=XyloCode.BusinessData&version=1.0.3 // Install XyloCode.BusinessData as a Cake Tool #tool nuget:?package=XyloCode.BusinessData&version=1.0.3
BusinessData
BusinessData is a computer format for representing data structures in binary form. It is developed for duplication data of printed forms (questionnaires, contracts, accounting documents, permits, visa requests, etc.) into a machine-readable format, as a rule, into linear and two-dimensional barcodes with support for binary encoding (DataMatrix, PDF417, QR-code), and / or further saving this data in a separate column of the relational table database management system DBMS (NoSQL-approach).
Main differences
- no predefined data structure is required for deserialization;
- the ability to describe custom classes (business objects) using data annotation (attributes) and / or Fluent API;
- support for historical data (chronology of changes in public fields of a custom class — a business object);
- support for multidimensional and jagged arrays;
- the ability to select a specialized encoding for each string field of a custom class — a business object;
- predefined 4-bit encoding for storing identification data in various formats, for example: 46 91 012345, 910-001, 77:01:0001001:1025;
- predefined 6-bit encodings for Russian, Kazakh and Ukrainian languages;
- no dependence on third-party libraries (except system ones).
Data Encoding Structure
The format is based on a widely used method for writing binary data — type-length-value (TLV).
Supported Platforms
- .NET 3.1 Core LTS;
- .NET 6.0 LTS.
Supported data types
Simple (system) types
System.Boolean
;System.Byte
;System.Char
;System.DateOnly
(for .NET 6.0 or greater);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
(for .NET 6.0 or greater);System.TimeSpan
;
Enumeration
enum
.
There is the possibility to select the mode of serializing the value of a field with an enumeration type as a number or as a string.
Arrays and lists
System.Collections.Generic.List<TValue>
— lists.System.Array
— arrays (including multidimensional and jagged).
The value TValue
can be of any supported data types.
Dictionaries
System.Collections.Generic.Dictionary<TKey, TValue>
— collection “key-value”;System.Collections.Generic.KeyValuePair<TKey, TValue>
— pare “key-value”.
The TKey
key can be one of the following data types:
System.Byte
;System.Char
;System.Guid
;System.Int16
;System.Int32
;System.Int64
;System.SByte
;System.String
;System.UInt16
;System.UInt32
;System.UInt64
.
The value TValue
can be of any supported data types.
User defined data types
- Business objects are custom classes containing a public constructor without parameters and public properties.
Planned support
System.Net.IPAddress
;Microsoft.SqlServer.Types.SqlGeography
;Microsoft.SqlServer.Types.SqlGeometry
;Microsoft.SqlServer.Types.HierarchyId
.
Not supported
Anonymous data types are not supported.
Full documentation
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- No dependencies.
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Removed System.IO.Ports dependencies