Wywoływanie Regex.IsMatch () wewnątrz dynamicznego zapytania linq
Próbuję wywołaćRegex.IsMatch()
i oceń zwrócony wynik wewnątrz dynamicznego zapytania linq. To właśnie próbowałem:
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);
}
W tym przypadkuCategory
jest własnością wEventListItem
. Ten wyjątek jest wyrzucany po wywołaniuParseLambda()
:
Unknown identifier 'Regex'
.
Czy istnieje sposób na wywołanie metody? przeszedłem przezExpression.Call()
metoda, ale nie jestem pewien, czy tego właśnie szukam. Każda pomoc jest doceniana.