RuleEval.Database 1.0.0

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

RuleEval

Moderní open-source rule engine pro .NET 8, navržený jako čistá a produkčně použitelná náhrada za původní projekt RuleEvaluator. Bez Castle Windsor, bez povinného DI frameworku, s jasně oddělenými vrstvami.

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

Balíček 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.DependencyInjection AddRuleEval() registrace core služeb do IServiceCollection
RuleEval.Database DbRuleSetMapper, RuleSetRepository, PostgreSqlRuleSetSource, SqlServerRuleSetSource
RuleEval.Database.DependencyInjection AddRuleEvalDatabase() registrace DB služeb do IServiceCollection

Interní projekty RuleEval.Caching, RuleEval.Diagnostics a RuleEval.Database.Abstractions nejsou publikovány jako samostatné NuGet balíčky — jejich funkcionalita je zabalena do příslušných veřejných balíčků přes project reference.

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 118 3/25/2026
1.2.0 96 3/25/2026
1.1.3 100 3/24/2026
1.1.2 98 3/24/2026
1.1.1 96 3/24/2026
1.1.0 95 3/24/2026
1.0.1 96 3/24/2026
1.0.0 106 3/20/2026