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))
Этот код работает для строки типа столбцов, но не работает для типа столбца int32, я попытался использовать expression.convert для преобразования int32 в строку, но сбой. Я могу преобразовать выражение члена в тип объекта, но linq для сущностей поддерживает только примитивные типы данных.Linq to Entities Dynamic Where Раздел
Пожалуйста, помогите написать тот же лямбда-выражения для Int 32 типа для динамической фильтрации
Это моя ошибка, что я не изменял «Содержит» в «Равно» при публикации вопроса. Это работает, спасибо. – tinku99
Я пытался преобразовать целочисленный тип в тип строки, и я использовал содержащиеся hod для строкового типа. Я попробовал метод equals для типа int, но он не работал. Код, который вы мне дали, все равно ... Спасибо. – tinku99