Specs que viajan con tus datos
Una sola spec se convierte en LINQ, SQL, NoSQL o checks in-memory.
Vali-Flow.Core
Builder fluido sin dependencias para expression trees, validacion y specs reutilizables.
Vali-Flow (EF Core)
Traduce specs a LINQ y ejecuta sobre DbSet<T> con evaluadores async.
Vali-Flow.InMemory
Evaluador in-memory rapido para tests, cache y reglas locales.
Vali-Flow.Sql
Genera SQL WHERE para Dapper y ADO.NET.
Vali-Flow.NoSql.MongoDB
Construye filtros de MongoDB directamente desde specs.
Vali-Flow.NoSql.DynamoDB
Traduce specs a expresiones de DynamoDB.
Vali-Flow.NoSql.Elasticsearch
Crea queries de Elasticsearch desde una sola spec.
Vali-Flow.NoSql.Redis
Genera filtros para Redis/RediSearch.
Construye → traduce → ejecuta
Core construye el arbol de expresiones. Los evaluadores lo traducen al store.
new ValiFlow<Product>()WhereAsync(spec)ToSql(spec)IsValid(entity)ToFilter(spec)ToExpression(spec)ToQuery(spec)ToRediSearch(spec)builder.Services.AddValiFlowEvaluator<Product, AppDbContext>();// Construye una specvar spec = new ValiFlow<Product>() .EqualTo(p => p.IsActive, true) .GreaterThan(p => p.Price, 10m);var result = await evaluator.WhereAsync(spec);8 paquetes NuGet. Instala solo lo que necesitas.
Empieza con Core, agrega un evaluador o combina varios stores.
Evaluador EF Core y paquete principal para stores relacionales.
dotnet add package Vali-FlowBuilder core para specs con expression trees y validacion.
dotnet add package Vali-Flow.CoreEvaluador in-memory para tests y filtrado local.
dotnet add package Vali-Flow.InMemoryEvaluador MongoDB con filtros nativos.
dotnet add package Vali-Flow.NoSql.MongoDBEvaluador DynamoDB con traduccion de expresiones.
dotnet add package Vali-Flow.NoSql.DynamoDBEvaluador Elasticsearch para query DSL.
dotnet add package Vali-Flow.NoSql.ElasticsearchEvaluador Redis con generacion de queries RediSearch.
dotnet add package Vali-Flow.NoSql.RedisDonde Vali-Flow encaja mejor
Compone reglas una vez y mantén el comportamiento consistente en tus capas.
Filtros de repositorio
Construye specs en la capa de aplicación y ejecútalas en EF Core o SQL.
WhereAsync(spec)Consistencia multi-store
Usa la misma spec para MongoDB, DynamoDB, Elasticsearch y Redis.
ToFilter / ToQuery / ToSqlTesting y validación
Ejecuta specs in-memory para validar reglas en tests rápidos.
IsValid(entity)