Procurando por uma biblioteca simples de mecanismo de regras no .NET [fechado]

Alguém conhece uma boa biblioteca de regras de biblioteca .NET (de preferência código-fonte aberto)? Preciso de algo que possa fazer expressões lógicas aninhadas, por exemplo, (A AND B) AND (B OR C OR D). Preciso fazer comparações de propriedades de objetos, por exemplo, A.P1 AND B.P1. (Idealmente, eu poderia comparar qualquer propriedade - A.P1 AND B.P2).

Ele deve armazenar as regras em um banco de dados (eu tenho muita lógica configurável simples). E deve ter uma API de criação / gerenciamento de regras. A ferramenta de gerenciamento precisaria inspecionar as instâncias para determinar quais propriedades estão disponíveis e quais restrições existem.

Obrigado!

Oh, mais uma coisa. Como mecanismo de regras, preciso incluir o conceito de Ações (Comandos). É isso que é executado quando a expressão retorna:

If (expression.Evaluation) { actions.Execute(); }

Então, eu vejo uma regra como algo como:

class Rule
{
    Expression Exp;
    Actions[] Actions;
    Run() 
    { 
        if(Exp.Evaluate()) 
        { 
            foreach(action in Actions) 
            { 
                action.Execute(); 
            }
        } 
    }
}

questionAnswers(15)

yourAnswerToTheQuestion