DTOMaker.CSPoco
0.36.4
See the version list below for details.
dotnet add package DTOMaker.CSPoco --version 0.36.4
NuGet\Install-Package DTOMaker.CSPoco -Version 0.36.4
<PackageReference Include="DTOMaker.CSPoco" Version="0.36.4" />
<PackageVersion Include="DTOMaker.CSPoco" Version="0.36.4" />
<PackageReference Include="DTOMaker.CSPoco" />
paket add DTOMaker.CSPoco --version 0.36.4
#r "nuget: DTOMaker.CSPoco, 0.36.4"
#:package DTOMaker.CSPoco@0.36.4
#addin nuget:?package=DTOMaker.CSPoco&version=0.36.4
#tool nuget:?package=DTOMaker.CSPoco&version=0.36.4
DTOMaker
todo badge
Warning: This is pre-release software under active development. Not for production use. Breaking changes occur often.
This repo contains several related packages.
DTOMaker.Models
Attributes for defining simple data models as interfaces in C#.
DTOMaker.Core
Core types used by source generators at compile-time, including a common syntax receiver, and a powerful template processor.
Generators
The following source generators depend on this package:
DTOMaker.MessagePack
Generates DTOs decorated with MessagePack attributes (https://github.com/MessagePack-CSharp/MessagePack-CSharp).
DTOMaker.MemBlocks
Generates DTOs whose internal data is a single memory block (Memory<byte>). Property getters and setters decode and encode values directly to the block with explicit byte ordering (little-endian or big-endian).
DTOMaker.CSPoco
Generates basic POCOs (Plain Old C# Objects) that implement the data model interfaces.
Features
Features implemented:
- Data types: Boolean, S/Byte, U/Int16/32/64/128, Double, Single, Half, Char, Guid, Decimal
- IFreezable support
- Templates as code, template processing
- [Obsolete] members
- Fixed length arrays of above types
- DTOMaker.MessagePack source generator
- DTOMaker.MemBlocks source generator
- DTOMaker.CSPoco source generator
Features not implemented:
- Nullable types. T? can be simulated using a pair of fields (Boolean, T).
- Enum data types. An enumeration type can be simulated with a casting property.
- Strings (UTF8). String types can be simulated with a byte array field and a length field.
In progress:
- Json (NewtonSoft) generator
Coming next:
- Json (System.Text) generator
- ProtobufNet 3.0 generator
- other model entities
- member wire names and tags
- reservation (hidden members)
- compact layout method
Coming later:
- C# records generator
- Google Protobuf .proto generation
- polymorphic types
- generic patterns: lists, trees, unions, etc.
- variable length arrays
- logical value equality
These models are consumed by the following source generators to emit DTO classes that implement the model interfaces.
Benchmarks
Some benchmarking comparing the serialization and deserialization performance of various generated DTOs can be found at: todo
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- DTOMaker.Core (>= 0.36.4)
- Microsoft.CodeAnalysis (>= 4.11.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.71.5 | 220 | 9/19/2025 |
0.71.4 | 245 | 9/17/2025 |
0.71.3 | 257 | 9/16/2025 |
0.71.2 | 202 | 9/15/2025 |
0.71.1 | 201 | 9/15/2025 |
0.70.3 | 130 | 9/9/2025 |
0.70.2 | 139 | 9/2/2025 |
0.70.1-dev | 179 | 8/27/2025 |
0.69.10 | 108 | 8/17/2025 |
0.69.9 | 63 | 8/16/2025 |
0.69.8 | 137 | 8/13/2025 |
0.69.7-dev | 137 | 8/13/2025 |
0.69.6-dev | 127 | 8/12/2025 |
0.69.4-dev | 111 | 8/9/2025 |
0.69.3-dev | 72 | 7/19/2025 |
0.69.2-dev | 65 | 7/19/2025 |
0.68.6 | 72 | 7/19/2025 |
0.68.5-dev | 65 | 7/19/2025 |
0.68.2-dev | 136 | 7/17/2025 |
0.68.1-dev | 134 | 7/17/2025 |
0.67.7 | 139 | 7/17/2025 |
0.67.6-dev | 146 | 7/9/2025 |
0.67.5-dev | 137 | 7/9/2025 |
0.67.3-dev | 145 | 7/7/2025 |
0.67.1-dev | 287 | 6/10/2025 |
0.66.18 | 248 | 6/9/2025 |
0.66.17-dev | 213 | 6/9/2025 |
0.66.16-dev | 115 | 6/8/2025 |
0.66.14-dev | 83 | 6/7/2025 |
0.66.13-dev | 142 | 6/5/2025 |
0.66.10-dev | 148 | 6/5/2025 |
0.66.9-dev | 139 | 6/5/2025 |
0.66.8-dev | 142 | 6/5/2025 |
0.66.7-dev | 135 | 6/4/2025 |
0.66.2-dev | 71 | 5/31/2025 |
0.65.20-generics-g24a665d336 | 77 | 5/31/2025 |
0.65.13-generics-ge74b19332f | 164 | 4/23/2025 |
0.65.10-generics-g6f262eb134 | 192 | 4/17/2025 |
0.65.1-generics | 69 | 5/31/2025 |
0.64.27 | 144 | 5/27/2025 |
0.64.26 | 203 | 5/16/2025 |
0.64.24 | 150 | 5/8/2025 |
0.64.22 | 172 | 4/23/2025 |
0.64.20 | 166 | 4/10/2025 |
0.64.18 | 184 | 4/10/2025 |
0.64.17 | 166 | 4/10/2025 |
0.64.16 | 173 | 4/9/2025 |
0.64.10 | 173 | 4/7/2025 |
0.64.9 | 133 | 4/4/2025 |
0.64.8-dev | 163 | 4/1/2025 |
0.64.7-dev-g53a80ba3be | 146 | 4/1/2025 |
0.64.5-dev-g449e36f771 | 480 | 3/25/2025 |
0.64.5-dev-g2fcf9bff64 | 144 | 4/1/2025 |
0.64.4-dev | 154 | 4/1/2025 |
0.64.3-dev | 166 | 3/31/2025 |
0.64.2-dev | 485 | 3/25/2025 |
0.64.1-dev | 481 | 3/25/2025 |
0.63.60-gee4d301e03 | 475 | 3/25/2025 |
0.63.19 | 107 | 3/21/2025 |
0.63.19-g2e909c64aa | 102 | 3/21/2025 |
0.63.17 | 129 | 3/14/2025 |
0.63.16 | 122 | 3/14/2025 |
0.63.15 | 155 | 3/13/2025 |
0.63.13 | 167 | 3/11/2025 |
0.63.12 | 162 | 3/11/2025 |
0.63.11-dev | 157 | 3/11/2025 |
0.63.9-dev | 149 | 3/11/2025 |
0.63.8-dev | 161 | 3/10/2025 |
0.63.7-dev | 166 | 3/10/2025 |
0.63.6-dev | 157 | 3/10/2025 |
0.63.3-dev | 170 | 3/10/2025 |
0.62.10 | 228 | 3/8/2025 |
0.62.9 | 212 | 3/8/2025 |
0.62.7 | 224 | 3/7/2025 |
0.62.6-dev | 202 | 3/7/2025 |
0.62.5-dev | 210 | 3/7/2025 |
0.61.14 | 227 | 3/6/2025 |
0.61.13-dev | 208 | 3/6/2025 |
0.61.12-dev | 208 | 3/6/2025 |
0.61.10-dev | 202 | 3/6/2025 |
0.61.9-dev | 207 | 3/5/2025 |
0.61.8-dev | 204 | 3/5/2025 |
0.61.5-dev | 207 | 3/4/2025 |
0.61.3-dev | 202 | 3/4/2025 |
0.61.2-dev | 142 | 3/3/2025 |
0.60.8 | 123 | 2/27/2025 |
0.60.7 | 105 | 2/27/2025 |
0.60.6-dev | 97 | 2/27/2025 |
0.60.3-dev | 103 | 2/25/2025 |
0.59.10 | 117 | 2/19/2025 |
0.59.8-dev | 105 | 2/19/2025 |
0.59.5-dev | 103 | 2/17/2025 |
0.59.4-dev | 97 | 2/15/2025 |
0.58.9 | 120 | 2/4/2025 |
0.58.8-dev | 104 | 2/4/2025 |
0.57.6 | 114 | 2/1/2025 |
0.57.4 | 105 | 2/1/2025 |
0.57.2-dev | 97 | 2/1/2025 |
0.57.1-dev | 91 | 2/1/2025 |
0.56.13 | 114 | 1/31/2025 |
0.56.12-dev | 98 | 1/31/2025 |
0.56.11-dev | 95 | 1/30/2025 |
0.56.10-dev | 99 | 1/30/2025 |
0.56.9-dev | 103 | 1/30/2025 |
0.56.6-dev | 87 | 1/24/2025 |
0.56.5-dev | 92 | 1/24/2025 |
0.56.4-dev | 88 | 1/24/2025 |
0.56.3-dev | 118 | 1/24/2025 |
0.55.38 | 134 | 1/23/2025 |
0.55.37-dev | 113 | 1/23/2025 |
0.55.36-dev | 99 | 1/22/2025 |
0.55.34-dev | 90 | 1/22/2025 |
0.55.32-dev | 83 | 1/22/2025 |
0.55.31-dev | 100 | 1/21/2025 |
0.55.30-dev | 91 | 1/21/2025 |
0.55.29-dev | 110 | 1/20/2025 |
0.55.27-dev | 93 | 1/20/2025 |
0.55.25-dev | 89 | 1/20/2025 |
0.55.24-dev | 99 | 1/20/2025 |
0.55.23-dev | 92 | 1/19/2025 |
0.55.20-dev | 81 | 1/19/2025 |
0.55.17-dev | 84 | 1/19/2025 |
0.55.14-dev | 94 | 1/19/2025 |
0.54.1 | 120 | 1/3/2025 |
0.53.4 | 136 | 1/1/2025 |
0.53.3 | 128 | 12/31/2024 |
0.53.2-dev | 84 | 12/31/2024 |
0.52.1 | 115 | 12/31/2024 |
0.51.1 | 113 | 12/31/2024 |
0.50.2 | 104 | 12/31/2024 |
0.50.1-dev | 96 | 12/31/2024 |
0.49.3 | 108 | 12/29/2024 |
0.49.2-dev | 94 | 12/29/2024 |
0.49.1-dev | 93 | 12/29/2024 |
0.48.5 | 113 | 12/29/2024 |
0.48.4-dev | 87 | 12/29/2024 |
0.48.3-dev | 87 | 12/28/2024 |
0.48.2-dev | 96 | 12/28/2024 |
0.48.1-dev | 89 | 12/28/2024 |
0.47.2 | 103 | 12/28/2024 |
0.47.1 | 111 | 12/27/2024 |
0.46.9 | 105 | 12/27/2024 |
0.46.8 | 108 | 12/27/2024 |
0.46.7 | 106 | 12/27/2024 |
0.46.6 | 100 | 12/23/2024 |
0.46.5 | 101 | 12/23/2024 |
0.46.4 | 102 | 12/23/2024 |
0.46.3 | 106 | 12/22/2024 |
0.46.2-dev | 89 | 12/22/2024 |
0.46.1-dev | 86 | 12/22/2024 |
0.45.3 | 111 | 12/22/2024 |
0.45.2-dev | 104 | 12/21/2024 |
0.45.1-dev | 93 | 12/20/2024 |
0.44.4 | 102 | 12/19/2024 |
0.44.3 | 105 | 12/19/2024 |
0.44.2 | 103 | 12/19/2024 |
0.44.1 | 96 | 12/19/2024 |
0.43.3 | 106 | 12/19/2024 |
0.43.2-dev | 95 | 12/19/2024 |
0.43.1-dev | 89 | 12/19/2024 |
0.42.2 | 108 | 12/18/2024 |
0.42.1-dev | 93 | 12/18/2024 |
0.41.2 | 118 | 12/18/2024 |
0.41.1-dev | 92 | 12/18/2024 |
0.40.4 | 117 | 12/16/2024 |
0.40.3-dev | 86 | 12/16/2024 |
0.39.2 | 108 | 12/3/2024 |
0.39.1-dev | 89 | 12/3/2024 |
0.38.2-dev | 89 | 11/25/2024 |
0.38.1-dev | 96 | 11/25/2024 |
0.37.2 | 107 | 11/24/2024 |
0.37.1 | 116 | 11/23/2024 |
0.36.6 | 115 | 11/23/2024 |
0.36.5 | 110 | 11/22/2024 |
0.36.4 | 109 | 11/22/2024 |
0.34.1 | 104 | 11/17/2024 |
0.33.1 | 108 | 11/17/2024 |
0.32.2 | 109 | 11/16/2024 |
0.32.1 | 115 | 11/16/2024 |
0.31.1 | 105 | 11/16/2024 |
0.30.2 | 112 | 11/16/2024 |
0.30.1 | 107 | 11/16/2024 |
0.29.14 | 118 | 11/14/2024 |
0.29.12 | 113 | 11/13/2024 |
0.29.11 | 109 | 11/13/2024 |
0.29.9 | 106 | 11/13/2024 |
0.29.8 | 120 | 11/13/2024 |
0.29.7 | 118 | 11/12/2024 |
0.29.6 | 121 | 11/12/2024 |
0.29.5 | 116 | 11/12/2024 |
0.29.4 | 118 | 11/12/2024 |
0.29.4-dev | 93 | 11/12/2024 |
0.29.3-dev | 98 | 11/12/2024 |