EAC.Infrastructure.Persistence 0.1.0-rc.4

This is a prerelease version of EAC.Infrastructure.Persistence.
dotnet add package EAC.Infrastructure.Persistence --version 0.1.0-rc.4
                    
NuGet\Install-Package EAC.Infrastructure.Persistence -Version 0.1.0-rc.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EAC.Infrastructure.Persistence" Version="0.1.0-rc.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EAC.Infrastructure.Persistence" Version="0.1.0-rc.4" />
                    
Directory.Packages.props
<PackageReference Include="EAC.Infrastructure.Persistence" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EAC.Infrastructure.Persistence --version 0.1.0-rc.4
                    
#r "nuget: EAC.Infrastructure.Persistence, 0.1.0-rc.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EAC.Infrastructure.Persistence@0.1.0-rc.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EAC.Infrastructure.Persistence&version=0.1.0-rc.4&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=EAC.Infrastructure.Persistence&version=0.1.0-rc.4&prerelease
                    
Install as a Cake Tool

EAC.Infrastructure.Persistence

Desde 2026-10-09, Native AOT queda fuera del alcance por decisión del usuario. No se declara compatibilidad ni se exige su gate. Las referencias históricas no constituyen soporte vigente; build y tests ordinarios siguen siendo obligatorios.

Desarrollo desde el workspace

La conversión reutilizable ResultJsonConverter<TValue, TRepresentation> está disponible mediante ProjectReference, sin publicar una nueva versión. Recibe metadata JSON explícita, una factory Result y la proyección de escritura. El servicio conserva el formato y las reglas de reconstitución.

El proyecto referencia el código fuente de eac-foundation, situado como repositorio hermano. La solución incluye esa dependencia para compilarla con la misma configuración. Antes de ejecutar scripts/ci.sh, deben estar presentes ambos repositorios; no se utiliza el paquete publicado como alternativa local.

Repositorio propietario del NuGet EAC.Infrastructure.Persistence, incluidos los contratos neutrales de stores y resultados paginados de consultas de persistencia.

Estado actual: alcance completado hasta PERS-011 con 0.1.0-rc.3 publicado. La promoción estable PERS-012 sigue aplazada.

Instalación, configuración y consumo

<PackageReference Include="EAC.Infrastructure.Persistence" Version="0.1.0-rc.3" />

El registro básico declara stores tipados y no requiere configuración ambiental:

services.AddEacPersistence(stores => stores.AddStore<OrderCommandStore>(
    StoreRole.Command,
    owner: "orders",
    connectionName: "OrderPostgreSql",
    technology: "EntityFrameworkCore"));

Para enlazar referencias a valores de conexión suministrados externamente:

services.AddEacPersistence(
    builder.Configuration,
    stores => stores.AddStore<OrderCommandStore>(
        StoreRole.Command,
        "orders",
        "OrderPostgreSql",
        "EntityFrameworkCore"));

Configuración completa de las dos formas admitidas:

{
  "Eac": {
    "Persistence": {
      "Connections": {
        "OrderPostgreSql": {
          "SecretKey": "ConnectionStrings:OrderPostgreSql"
        },
        "SharedElasticCluster": {
          "EndpointKey": "Search:Elastic:Endpoint",
          "CredentialKey": "Search:Elastic:Credential"
        }
      }
    }
  }
}

Equivalencia mediante variables de entorno:

Eac__Persistence__Connections__OrderPostgreSql__SecretKey=ConnectionStrings:OrderPostgreSql
Eac__Persistence__Connections__SharedElasticCluster__EndpointKey=Search:Elastic:Endpoint
Eac__Persistence__Connections__SharedElasticCluster__CredentialKey=Search:Elastic:Credential
Opción Obligatoria Regla
Connections:{name}:SecretKey alternativa clave de configuración de una conexión completa
Connections:{name}:EndpointKey alternativa clave de configuración de un endpoint
Connections:{name}:CredentialKey no solo se admite junto con EndpointKey; puede omitirse con workload identity

Cada store del manifiesto debe encontrar una conexión lógica con el mismo nombre. Una conexión usa SecretKey o EndpointKey, nunca ambas; las claves solo admiten rutas de configuración acotadas y no valores inline. Una sección inválida impide el startup. Los cambios requieren reiniciar el proceso.

La configuración programática posterior al binding tiene precedencia:

services.AddEacPersistence(
    builder.Configuration,
    ConfigureStores,
    options => options.Connections["OrderPostgreSql"].SecretKey =
        "Secrets:Orders:Primary");

PersistenceOptions contiene referencias, nunca connection strings, credenciales ni endpoints reales. Esos valores proceden de variables de entorno, workload identity o un proveedor de secretos y los resuelve el adaptador propietario. Stores, roles, tecnologías, entidades y mappings permanecen en código. Registrar el núcleo no activa drivers, conexiones, workers, Inbox ni Outbox.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (7)

Showing the top 5 NuGet packages that depend on EAC.Infrastructure.Persistence:

Package Downloads
EAC.Infrastructure.Persistence.EntityFrameworkCore

Provider-neutral Entity Framework Core persistence adapter for EAC applications.

EAC.Infrastructure.Persistence.MongoDB

MongoDB persistence adapter for EAC applications.

EAC.Infrastructure.Persistence.Marten

Marten persistence adapter for EAC applications.

EAC.Infrastructure.Persistence.EntityFrameworkCore.SqlServer

SQL Server persistence adapter for EAC applications using Microsoft.Data.SqlClient.

EAC.Infrastructure.Persistence.EntityFrameworkCore.PostgreSQL

PostgreSQL persistence adapter for EAC applications using Npgsql.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-rc.4 93 10/23/2026
0.1.0-rc.3 465 8/21/2026
0.1.0-rc.2 82 8/21/2026
0.1.0-rc.1 81 8/19/2026
0.1.0-beta.1 80 8/19/2026
0.1.0-alpha.2 103 8/19/2026