Skip to main content

Packages

Ten 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.