INTRODUCCIÓN · CORE-DATAeQuantic.Core.DataeQuantic.Core.Data amplía la biblioteca principal con las abstracciones que necesita el acceso a datos: una unidad de trabajo, repositorios y la correspondencia entre una fila almacenada y una entidad de dominio.
Resumen
Implementa la unidad de trabajo, el patrón Repository y el mapeo objeto-relacional como un conjunto, de modo que una transacción abarca varios repositorios y aun así confirma una sola vez.Funciona con distintos proveedores de base de datos y estrategias de persistencia, y la elección del proveedor se queda en la configuración en lugar del código que consulta.
Instalar
shell
dotnet add package eQuantic.Core.Data
Qué hace
Unidad de trabajoUna transacción sobre varios repositorios, confirmada una sola vez, para que un cambio a medio escribir no sobreviva a un error.
Repositorios ampliadosRepositorios genéricos con especificaciones, ordenación, paginación y proyecciones: la forma de la consulta llega como argumento.
Mapeo de entidadesCorrespondencia entre entidades de dominio y DTOs, configurada en lugar de supuesta.
Auditoría automáticaLa creación, el cambio y la eliminación se registran solos, en cada entidad que lo pide.
Multi-tenantDatos aislados por tenant, con el filtro aplicado automáticamente en vez de recordado en cada llamada.
Unidad de trabajoUna transacción sobre varios repositorios, confirmada una sola vez, para que un cambio a medio escribir no sobreviva a un error.
Repositorios ampliadosRepositorios genéricos con especificaciones, ordenación, paginación y proyecciones: la forma de la consulta llega como argumento.
Mapeo de entidadesCorrespondencia entre entidades de dominio y DTOs, configurada en lugar de supuesta.
Auditoría automáticaLa creación, el cambio y la eliminación se registran solos, en cada entidad que lo pide.
Multi-tenantDatos aislados por tenant, con el filtro aplicado automáticamente en vez de recordado en cada llamada.
Inicio rápido
Configurar el contexto — Su contexto de datos hereda de la clase base, que trae consigo la auditoría y los filtros de tenant.
C#
public class ApplicationDbContext : EQuanticDbContext{ public DbSet<Product> Products { get; set; } public DbSet<Order> Orders { get; set; } public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.ApplyConfigurationsFromAssembly(typeof(ApplicationDbContext).Assembly); }}
Coordinar con una unidad de trabajo — Tome la interfaz, toque varios repositorios y guarde una sola vez.
C#
public class OrderService{ private readonly IUnitOfWork _unitOfWork; public OrderService(IUnitOfWork unitOfWork) { _unitOfWork = unitOfWork; } public async Task<Order> CreateOrderAsync(CreateOrderRequest request) { var order = new Order(request.CustomerId, request.Items); await _unitOfWork.GetRepository<Order>().AddAsync(order); await _unitOfWork.GetRepository<Product>().UpdateStockAsync(request.Items); await _unitOfWork.SaveChangesAsync(); return order; }}
Consultar con especificaciones — Construya la consulta como un objeto: combinable, comprobable y reutilizable en la siguiente llamada.
C#
public class GetOrdersByCustomerSpec : Specification<Order>{ public GetOrdersByCustomerSpec(int customerId, DateTime? fromDate = null) { Criteria = o => o.CustomerId == customerId; if (fromDate.HasValue) Criteria = Criteria.And(o => o.CreatedAt >= fromDate.Value); AddInclude(o => o.Items); AddInclude("Items.Product"); ApplyOrderByDescending(o => o.CreatedAt); }}
Superficie pública
NAMESPACE
SUPERFICIE PÚBLICA
IUnitOfWork
Coordina las transacciones y los repositorios que participan en ellas.
EQuanticDbContext
El contexto base de Entity Framework, con la auditoría y el filtro de tenant ya montados.
Specification<T>
La clase base de una especificación de consulta combinable.
¿Prefieres leer código?
Todos los paquetes son MIT y públicos, y los ejemplos son para copiar y pegar.
¿Listo para entregar algo real?
Agenda 30 minutos de conversación. Te decimos en la misma hora si somos el socio adecuado — o quién lo es.
¿Listo para entregar algo real?
Agenda 30 minutos de conversación. Te decimos en la misma hora si somos el socio adecuado — o quién lo es.
© 2026 eQuantic Tech. Todos los derechos reservados.