Skip to main content
Version: 0.2.x (0.2.1)

Packages

Twelve NuGet packages. Install AdCodicem.ValueObjects and add whichever of the others cover the boundaries your application actually has.

PackageWhat it gives you
AdCodicem.ValueObjectsThe one to install: contracts, source generator and analyzers.
AdCodicem.ValueObjects.AbstractionsThe contracts alone, with no dependency at all.
AdCodicem.ValueObjects.JsonCovers source-generated serializer contexts and hand-written value objects.
AdCodicem.ValueObjects.EntityFrameworkCoreConverters, comparers, and a convention that maps a whole assembly.
AdCodicem.ValueObjects.AspNetCoreMVC model binding and RFC 9457 problem details carrying the violated rule.
AdCodicem.ValueObjects.OpenApiSchema transformer for the built-in .NET OpenAPI stack.
AdCodicem.ValueObjects.FluentValidationRules that reuse what the value object already enforces.
AdCodicem.ValueObjects.DapperType handlers for raw SQL.
AdCodicem.ValueObjects.NewtonsoftJsonInterop with code that has not moved to System.Text.Json.
AdCodicem.ValueObjects.IdentifiersStripe-style public entity identifiers: acc_2K7X9…. See Entity Identifiers.
AdCodicem.ValueObjects.Identifiers.EntityFrameworkCoreFixed-width, non-Unicode columns for those identifiers.
AdCodicem.ValueObjects.TestingAn xUnit contract kit for your own value objects.

Why this many packages​

Each integration is its own package so that adding EF Core support doesn't pull FluentValidation into a service that has no use for it, and so that a trimmed or AOT-published app only carries the generator's output for the boundaries it actually crosses. AdCodicem.ValueObjects is the only package with a source generator in it; everything else is a thin, generic-closed integration over the contracts in Abstractions.