Is it possible to evaluate a predicate expression without actually sending it to the database?
Something like the following code:
PredicateExpression bizzRule = BusinessRulesEngine.Rule1();
bool ruleOK = EvaluateRule(bizzRule, someEntity);
This would be a great way to define business rules only once. We would be able to use the above form in situations where we do complex logic inside C# code and reuse the same expression when fetching a collection that satisfies the business rule.