RuleEval.Database.DependencyInjection
1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package RuleEval.Database.DependencyInjection --version 1.0.0
NuGet\Install-Package RuleEval.Database.DependencyInjection -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.DependencyInjection" 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.DependencyInjection" Version="1.0.0" />
<PackageReference Include="RuleEval.Database.DependencyInjection" />
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.DependencyInjection --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RuleEval.Database.DependencyInjection, 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.DependencyInjection@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.DependencyInjection&version=1.0.0
#tool nuget:?package=RuleEval.Database.DependencyInjection&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- RuleEval.Database (>= 1.0.0)
- RuleEval.DependencyInjection (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.