有谁知道一个好的.NET库规则库(理想情况下是开源的)?我需要的东西,可以做嵌套的逻辑表达式,如(A和B)和(B或C或d).我需要对对象属性进行比较,例如A.P1和B.P1.(理想情况下,我可以比较任何属性 - A.P1和B.P2).
它应该将规则存储在数据库中(我有很多简单的可配置逻辑).它应该有一个规则创建/管理API.管理工具必须检查实例以确定哪些属性可用以及存在哪些约束.
谢谢!
哦,还有一件事.作为规则引擎,我需要包含Actions(Commands)的概念.这些是表达式返回时执行的操作:
If (expression.Evaluation) { actions.Execute(); }
Run Code Online (Sandbox Code Playgroud)
所以我看到一条规则如下:
class Rule
{
Expression Exp;
Actions[] Actions;
Run()
{
if(Exp.Evaluate())
{
foreach(action in Actions)
{
action.Execute();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)