RuleEval.Database 1.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package RuleEval.Database --version 1.1.0
                    
NuGet\Install-Package RuleEval.Database -Version 1.1.0
                    
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="RuleEval.Database" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RuleEval.Database" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="RuleEval.Database" />
                    
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 RuleEval.Database --version 1.1.0
                    
#r "nuget: RuleEval.Database, 1.1.0"
                    
#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 RuleEval.Database@1.1.0
                    
#: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=RuleEval.Database&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=RuleEval.Database&version=1.1.0
                    
Install as a Cake Tool

RuleEval

RuleEval.Abstractions RuleEval RuleEval.DependencyInjection RuleEval.Database RuleEval.Database.DependencyInjection License: MIT

📚 Dokumentace: architecture.md · nuget-packages.md · publishing-nuget.md

ModernĂ­ open-source rule engine pro .NET 8

Obsah

RychlĂ˝ start

dotnet add package RuleEval
using RuleEval.Abstractions;
using RuleEval.Core;

var ruleSet = RuleSetBuilder
    .Create("pricing")
    .AddInput("segment")
    .AddInput("age")
    .AddRule(rule => rule
        .When("segment", ".*Perspektiva.*")
        .When("age", "INTERVAL<15;24>")
        .ThenOutput("formula", "C2/240")
        .WithPrimaryKey("id", 1))
    .Build();

var evaluator = new RuleSetEvaluator();
var result = evaluator.EvaluateFirst(
    ruleSet,
    EvaluationContext.FromPositional("7BN Perspektiva DĹŻchod", 15m),
    new EvaluationOptions(CaptureDiagnostics: true));

Console.WriteLine(result.Status);
Console.WriteLine(result.Match?.Outputs[0].RawValue); // C2/240

Volitelná integrace s Microsoft.Extensions.DependencyInjection

using Microsoft.Extensions.DependencyInjection;
using RuleEval.DependencyInjection;

services.AddRuleEval();

NuGet balĂ­ÄŤky

Projekt NuGet Popis
RuleEval.Abstractions 📦 Contracts a immutable doménový model; referujte, pokud píšete knihovny integrující se s RuleEval
RuleEval 📦 Evaluační engine, built-in matchery (regex, INTERVAL, equality)
RuleEval.Caching — Interní projekt bez vlastního NuGet; zkompilován do RuleEval.DependencyInjection a RuleEval.Database. Obsahuje IRuleSetCache, MemoryRuleSetCache, NoCacheRuleSetCache
RuleEval.Diagnostics — Interní projekt bez vlastního NuGet. Obsahuje IRuleEvaluationObserver, observer pattern pro výsledky evaluace
RuleEval.DependencyInjection 📦 AddRuleEval() registrace core služeb do IServiceCollection
RuleEval.Database.Abstractions — Interní projekt bez vlastního NuGet; zkompilován do RuleEval.Database. Obsahuje IRuleSetSource, IRuleSetRepository — provider-neutral DB contracts
RuleEval.Database 📦 DbRuleSetMapper, RuleSetRepository, PostgreSqlRuleSetSource, SqlServerRuleSetSource
RuleEval.Database.DependencyInjection 📦 AddRuleEvalDatabase() registrace DB služeb do IServiceCollection

Dokumentace

Dokument Obsah
docs/architecture.md Architektura, design rozhodnutí, závislosti mezi vrstvami, evaluační flow
docs/nuget-packages.md Přehled balíčků, typické instalační scénáře, dependency graph
docs/publishing-nuget.md Jak verzovat, zabalit a publikovat NuGet balĂ­ÄŤky
samples/RuleEval.Samples Kompletní ukázky použití včetně DI, cache a DB vrstvy
benchmarks/RuleEval.Benchmarks BenchmarkDotNet výkonnostní testy

Build a test

dotnet restore RuleEval.sln
dotnet build RuleEval.sln -c Release
dotnet test RuleEval.sln -c Release --collect:"XPlat Code Coverage"

Licence

MIT. Viz LICENSE.

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

NuGet packages (1)

Showing the top 1 NuGet packages that depend on RuleEval.Database:

Package Downloads
RuleEval.Database.DependencyInjection

Microsoft.Extensions.DependencyInjection integration for RuleEval database-backed rule loading. Registers DbRuleSetMapper, RuleSetRepository, and IRuleSetSource implementations.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.3.0 124 3/25/2026
1.2.0 102 3/25/2026
1.1.3 103 3/24/2026
1.1.2 100 3/24/2026
1.1.1 98 3/24/2026
1.1.0 97 3/24/2026
1.0.1 99 3/24/2026
1.0.0 110 3/20/2026