Dim Param = Expression.Parameter(source.ElementType)
Dim columnProperty = Expression.PropertyOrField(Param, Column.Name)
Dim conversion As Expression = Expression.Convert(columnProperty, GetType(String))
Dim likeValue = Expression.Constant(value, GetType(String))
Dim ContainMethodExp = Expression.[Call](columnProperty, GetType(String).GetMethod("Contains"), likeValue)
Dim where = Expression.[Call](GetType(Queryable), "Where", New Type() {source.ElementType}, source.Expression, Expression.Lambda(ContainMethodExp, Param))
This code works for the columns types string but it does not works for the int32 column type, I tried to use expression.convert to convert int32 to string but it fails. I am able to convert the member expression to object type but linq to entities supports only the Primitive Data Types.
Please help to write the same lambda expression for Int 32 type for dynamic filtering