I have the following code:
public Expression FilterString(string property, string Value, ParameterExpression parameter)
{
var getname = Expression.Property(parameter, property);
var toLower = Expression.Call(getname, "ToLower", null, null);
var contains = Expression.Call(toLower, "Contains", null, new[] { Expression.Constant(Value.ToString().ToLower()) });
return contains;
}
var parameter = Expression.Parameter(typeof(Message), "message");
var expressionFilter = myclass.FilterString("Body","abc123", parameter);
var lambda = Expression.Lambda(expressionFilter, parameter);
query = query.Where((Expression<Func<Message, bool>>)lambda);
This creates a TSQL LIKE statement, but I would like it to execute the CONTAINS statement.
Anyway, can I change the above method FilterStringto do this?
source
share