Quantum.Data.Core 1.1.1

dotnet add package Quantum.Data.Core --version 1.1.1
                    
NuGet\Install-Package Quantum.Data.Core -Version 1.1.1
                    
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="Quantum.Data.Core" Version="1.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Quantum.Data.Core" Version="1.1.1" />
                    
Directory.Packages.props
<PackageReference Include="Quantum.Data.Core" />
                    
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 Quantum.Data.Core --version 1.1.1
                    
#r "nuget: Quantum.Data.Core, 1.1.1"
                    
#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 Quantum.Data.Core@1.1.1
                    
#: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=Quantum.Data.Core&version=1.1.1
                    
Install as a Cake Addin
#tool nuget:?package=Quantum.Data.Core&version=1.1.1
                    
Install as a Cake Tool

Quantum.Core

NuGet Version License: MIT

Quantum.Core es la librería base y fundamental del ecosistema Quantum. Proporciona un conjunto de herramientas, patrones de arquitectura y modelos de datos comunes diseñados para acelerar el desarrollo de aplicaciones .NET robustas y mantenibles.

✨ Características Principales (v1.0.0)

  • Patrón Result: Una forma limpia y explícita de manejar operaciones que pueden tener éxito o fallar, sin depender de excepciones para el control de flujo.
  • Modelo de Paginación (PagedList<T>): Una clase estandarizada para devolver resultados paginados desde tus repositorios o servicios, incluyendo metadatos como TotalCount, TotalPages, HasNextPage, etc.
  • Clase Base para Entidades (Entity<TId>): Una clase base genérica para tus modelos de dominio, estandarizando el uso de identificadores (Id).
  • Métodos de Extensión: Un conjunto de helpers de alta calidad para operaciones comunes con string y IEnumerable, haciendo tu código más limpio y legible.

🚀 Instalación

Instala el paquete a través de la consola del Administrador de Paquetes NuGet:

Install-Package Quantum.Core -Version 1.0.0

O mediante la CLI de .NET:

dotnet add package Quantum.Core --version 1.0.0

💡 Ejemplos de Uso

Patrón Result

Define métodos que devuelven un resultado explícito en lugar de lanzar excepciones.

public Result<User> GetUserById(int id)
{
    var user = _userRepository.Find(id);

    if (user == null)
        return Result.Fail<User>($"Usuario con ID {id} no encontrado.");
    
    return Result.Ok(user);
}

// Consumo:
var result = GetUserById(123);
if (result.IsSuccess)
    Console.WriteLine($"Usuario encontrado: {result.Value.Name}");
else
    Console.WriteLine($"Error: {result.Error}");

Modelo de Paginación (PagedList<T>)

Estandariza las respuestas de tus APIs que devuelven listas paginadas.

// Un método de repositorio podría devolver:
public async Task<PagedList<Product>> GetProducts(int page, int size)
{
    var items = await _db.Products.Skip((page - 1) * size).Take(size).ToListAsync();
    var totalCount = await _db.Products.CountAsync();
    return new PagedList<Product>(items, page, size, totalCount);
}

Clase Base Entity<TId> y Extensiones

Reduce el código repetitivo en tus modelos de datos.

using Quantum.Core.Domain;
using Quantum.Core.Extensions;

// La clase hereda el 'Id' de tipo int.
public class Customer : Entity<int>
{
    public string FullName { get; set; }
}

// Uso de extensiones
string name = GetNameFromInput();
if (name.HasValue()) // En lugar de !string.IsNullOrEmpty(name)
{
    // ...
}

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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.
  • net9.0

    • No dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Quantum.Data.Core:

Package Downloads
Quantum.Data.SqlBuilder

Una librería .NET ligera y potente para construir scripts SQL de forma fluida, segura y dinámica, previniendo inyección SQL.

Quantum.Data.Common

Librería de utilidades y extensiones de alto rendimiento para el ecosistema Quantum. Proporciona herramientas para la transformación de datos (DataSet, IDataReader), mapeo de objetos, conversión a dinámicos, exportación a CSV y más.

Quantum.Validation

Librería con helpers, para validaciones dinamicas de modelos con ASP.NET Core dentro del ecosistema Quantum.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.1 135 9/12/2025
1.1.0 110 9/12/2025
1.0.0 109 9/12/2025

Versión 1.0.0: Lanzamiento inicial de la librería Quantum.Core.
 - Incluye el patrón Result para manejo de operaciones exitosas y fallidas.
 - Modelo PagedList T para estandarizar resultados de paginación.
 - Clase base Entity TId para modelos de dominio.
 - Métodos de extensión para String y IEnumerable.