MetaCode.TS3.Template.Records
3.0.33
Prefix Reserved
.NET 6.0
Install-Package MetaCode.TS3.Template.Records -Version 3.0.33
dotnet add package MetaCode.TS3.Template.Records --version 3.0.33
<PackageReference Include="MetaCode.TS3.Template.Records" Version="3.0.33" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MetaCode.TS3.Template.Records --version 3.0.33
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MetaCode.TS3.Template.Records, 3.0.33"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install MetaCode.TS3.Template.Records as a Cake Addin
#addin nuget:?package=MetaCode.TS3.Template.Records&version=3.0.33
// Install MetaCode.TS3.Template.Records as a Cake Tool
#tool nuget:?package=MetaCode.TS3.Template.Records&version=3.0.33
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Overview
A dotnet tool (mcts3) for model-first template-based code generation. Features built-in generators for producing source code for a variety of data model uses.
Features
- Models can be defined in .NET assemblies or JSON.
- Targetting .NET Standard 2.0 and .NET 6.0
- In-the-box templates for generating:
- ordinary mutable classes (POCOs);
- immutable classes (with builders);
- immutable classes based on C# records;
- freezable classes;
- serializable classes for Protobuf-Net, JSON and MessagePack;
- shared interfaces for all the above.
Command-line use
TBD
- Get or create a model
- Choose a generator
- Generate!
Built-in Generators
Id | Lang. | Structure | Mutability | Serialization |
---|---|---|---|---|
Interfaces | C# | Flat | Read-only | |
JsonPoco | C# | Flat | Mutable | JSON |
Freezables | C# | Flat | Freezable | |
Immutables | C# | Flat | Immutable | |
Records | C# 9 | Flat | Immutable | |
MsgPack | C# | Flat | Mutable | MessagePack |
ProtbufNet3 | C# | Flat | Mutable | Protobuf.Net |
Contracts | C# | Poly. | Read-only | |
ClassesV2 | C# | Poly. | Freezable | |
RecordsV2 | C# 9 | Poly. | Immutable | |
MsgPackV2 | C# | Poly. | Mutable | MessagePack |
MsgPackV3 | C# | Poly. | Freezable | MessagePack |
Notes:
- Read-only = client cannot invoke change;
- Immutable = provider will never change data;
- Freezable = mutable until frozen, then immutable.
- Poly. = polymorphic i.e. supports inheritance.
Build your own generator
TBD
Under consideration
- serialization for:
- interoperable MessagePack
- MsgPack.CLI
- XSD
- Bond
- DataContract
- polymorphic JSON
- other languages;
- SQL and EF
Product | Versions |
---|---|
.NET | net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- LabApps.Types.Memory (>= 2.0.14)
- MetaCode.Runtime (>= 2.5.29)
- MetaCode.TS3.Template.Interfaces (>= 3.0.33)
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 |
---|---|---|
3.0.33 | 57 | 6/30/2022 |
3.0.30 | 53 | 6/4/2022 |
3.0.29 | 74 | 5/14/2022 |
3.0.26 | 60 | 5/6/2022 |
3.0.22 | 82 | 5/1/2022 |
3.0.20 | 70 | 4/29/2022 |
3.0.18 | 74 | 4/29/2022 |
3.0.14 | 71 | 4/29/2022 |
3.0.12 | 73 | 4/27/2022 |
3.0.11 | 87 | 4/13/2022 |
3.0.10 | 76 | 4/12/2022 |
3.0.9 | 75 | 4/11/2022 |
3.0.6 | 69 | 3/24/2022 |
3.0.5 | 68 | 3/22/2022 |
3.0.4 | 62 | 3/21/2022 |
1.2.1-beta | 57 | 3/17/2022 |
1.1.3 | 71 | 3/16/2022 |
1.1.2 | 66 | 3/13/2022 |
1.1.1 | 73 | 3/9/2022 |
1.0.62 | 80 | 2/13/2022 |
1.0.59 | 72 | 2/11/2022 |
1.0.56 | 76 | 2/11/2022 |
1.0.53 | 96 | 1/13/2022 |
1.0.50 | 114 | 12/25/2021 |
1.0.46 | 103 | 12/22/2021 |
1.0.44 | 111 | 12/22/2021 |
1.0.43 | 114 | 12/21/2021 |
1.0.41 | 104 | 12/21/2021 |
1.0.40 | 121 | 11/28/2021 |
0.7.28 | 1,770 | 4/19/2021 |
0.5.25 | 404 | 12/21/2020 |