Invocando Regex.IsMatch () dentro de uma consulta dinâmica de linq
Estou tentando invocar oRegex.IsMatch()
e avalie o resultado retornado dentro de uma consulta dinâmica de linq. Isso é o que eu tentei:
public static LambdaExpression Parse(SearchQuery query)
{
string compilableExpression = "Regex.IsMatch(Category.ToLower(), \"\\bSomeCat\\b\", RegexOptions.Compiled) == true";
ParameterExpression parameter1 = System.Linq.Expressions.Expression.Parameter(typeof(EventListItem));
ParameterExpression parameter2 = System.Linq.Expressions.Expression.Parameter(typeof(Regex));
return System.Linq.Dynamic.DynamicExpression.ParseLambda(new[] { parameter1, parameter2 }, null, compilableExpression);
}
Nesse casoCategory
é uma propriedade noEventListItem
. Esta exceção é lançada ao chamarParseLambda()
:
Unknown identifier 'Regex'
.
Existe uma maneira de invocar o método? Eu me depareiExpression.Call()
método, mas não tenho certeza se é isso que estou procurando. Qualquer ajuda é apreciada.