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
<PackageReference Include="Quantum.Data.Core" Version="1.1.1" />
<PackageVersion Include="Quantum.Data.Core" Version="1.1.1" />
<PackageReference Include="Quantum.Data.Core" />
paket add Quantum.Data.Core --version 1.1.1
#r "nuget: Quantum.Data.Core, 1.1.1"
#:package Quantum.Data.Core@1.1.1
#addin nuget:?package=Quantum.Data.Core&version=1.1.1
#tool nuget:?package=Quantum.Data.Core&version=1.1.1
Quantum.Core
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 comoTotalCount
,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
yIEnumerable
, 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 | Versions 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. |
-
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.
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.