RuleEval.Database
1.0.0
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
<PackageReference Include="RuleEval.Database" Version="1.0.0" />
<PackageVersion Include="RuleEval.Database" Version="1.0.0" />
<PackageReference Include="RuleEval.Database" />
paket add RuleEval.Database --version 1.0.0
#r "nuget: RuleEval.Database, 1.0.0"
#:package RuleEval.Database@1.0.0
#addin nuget:?package=RuleEval.Database&version=1.0.0
#tool nuget:?package=RuleEval.Database&version=1.0.0
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.DiagnosticsaRuleEval.Database.Abstractionsnejsou 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 | Versions 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. |
-
net8.0
- Npgsql (>= 9.0.3)
- RuleEval (>= 1.0.0)
- RuleEval.Abstractions (>= 1.0.0)
- RuleEval.Caching (>= 1.0.0)
- RuleEval.Database.Abstractions (>= 1.0.0)
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.