XyloCode.BusinessData
1.1.0
Prefix Reserved
dotnet add package XyloCode.BusinessData --version 1.1.0
NuGet\Install-Package XyloCode.BusinessData -Version 1.1.0
<PackageReference Include="XyloCode.BusinessData" Version="1.1.0" />
paket add XyloCode.BusinessData --version 1.1.0
#r "nuget: XyloCode.BusinessData, 1.1.0"
// Install XyloCode.BusinessData as a Cake Addin #addin nuget:?package=XyloCode.BusinessData&version=1.1.0 // Install XyloCode.BusinessData as a Cake Tool #tool nuget:?package=XyloCode.BusinessData&version=1.1.0
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 Framework 4.6;
- .NET Framework 4.7;
- .NET Framework 4.7.1;
- .NET Framework 4.7.2;
- .NET Framework 4.8;
- .NET Framework 4.8.1;
- .NET 3.1 Core LTS;
- .NET 6.0 LTS;
- .NET 7.0 (experimental).
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 is compatible. 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. |
.NET Framework | net46 is compatible. net461 was computed. net462 was computed. net463 was computed. net47 is compatible. net471 is compatible. net472 is compatible. net48 is compatible. net481 is compatible. |
-
.NETCoreApp 3.1
- No dependencies.
-
.NETFramework 4.6
- No dependencies.
-
.NETFramework 4.7
- No dependencies.
-
.NETFramework 4.7.1
- No dependencies.
-
.NETFramework 4.7.2
- No dependencies.
-
.NETFramework 4.8
- No dependencies.
-
.NETFramework 4.8.1
- No dependencies.
-
net6.0
- No dependencies.
-
net7.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.
Compiled packages for platforms: net46, net47, net471, net472, net48, net481. Added experimental support for net7.0.