Wiaoj.Identifiers.Abstractions
0.1.0-alpha.6
dotnet add package Wiaoj.Identifiers.Abstractions --version 0.1.0-alpha.6
NuGet\Install-Package Wiaoj.Identifiers.Abstractions -Version 0.1.0-alpha.6
<PackageReference Include="Wiaoj.Identifiers.Abstractions" Version="0.1.0-alpha.6" />
<PackageVersion Include="Wiaoj.Identifiers.Abstractions" Version="0.1.0-alpha.6" />
<PackageReference Include="Wiaoj.Identifiers.Abstractions" />
paket add Wiaoj.Identifiers.Abstractions --version 0.1.0-alpha.6
#r "nuget: Wiaoj.Identifiers.Abstractions, 0.1.0-alpha.6"
#:package Wiaoj.Identifiers.Abstractions@0.1.0-alpha.6
#addin nuget:?package=Wiaoj.Identifiers.Abstractions&version=0.1.0-alpha.6&prerelease
#tool nuget:?package=Wiaoj.Identifiers.Abstractions&version=0.1.0-alpha.6&prerelease
Wiaoj.Identifiers.Abstractions
The types and the source generator of Wiaoj.Identifiers, with no Microsoft.Extensions.* dependency. This is the package a domain layer references.
[Identifier("usr")]
public readonly partial record struct UserId;
UserId id = UserId.New();
Installation
dotnet add package Wiaoj.Identifiers.Abstractions
The source generator is included, so declaring identifiers needs nothing else.
What is here
- Declaring:
[Identifier("…")],IIdentifier<TSelf>, and the source generator with its diagnosticsWIAOJID001–WIAOJID004. - Codecs:
IdCodec(Current,Install,Override),PlainIdCodecandAesIdCodec.
Dependencies: Wiaoj.Primitives (for SnowflakeId) and Wiaoj.Preconditions.
The types are in the Wiaoj.Identifiers namespace, the same as the rest of the family, so moving code between layers doesn't change any using.
Which package where
| Project | Package |
|---|---|
Domain: declares UserId, OrderId, … |
Wiaoj.Identifiers.Abstractions |
Host / composition root: AddIdentifiers().UseAesCodec() |
Wiaoj.Identifiers |
| Persistence with EF Core | Wiaoj.Identifiers.EntityFrameworkCore |
| Keys from a Wiaoj.Security key ring | Wiaoj.Identifiers.Security |
The other packages depend on this one and carry the generator along, so a single-project application can reference only Wiaoj.Identifiers.
Without a host: a codec can be installed without any DI, for tools and tests: IdCodec.Install(PlainIdCodec.Instance) or IdCodec.Install(new AesIdCodec(key)).
How identifiers, codecs and the generator behave is described in the Wiaoj.Identifiers README.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Wiaoj.Preconditions (>= 0.1.0-alpha.6)
- Wiaoj.Primitives (>= 0.1.0-alpha.6)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Wiaoj.Identifiers.Abstractions:
| Package | Downloads |
|---|---|
|
Wiaoj.Identifiers
Package Description |
|
|
Wiaoj.Identifiers.EntityFrameworkCore
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha.6 | 35 | 9/16/2026 |