Дерево выражений Нет метода Где для типа System.Linq.Queryable - PullRequest
0 голосов
/ 27 апреля 2020

Я тестирую динамические c выражения для списка, но у меня возникает следующая ошибка:

Подборка и рекомендация по проверке документов, разрешенных для использования без подтверждения подлинности объекта

КОД

List<DTOPreuab> modelolista = new List<DTOPreuab>();
modelolista.Add(new DTOPreuab { id = 1, nom = "test1" });
modelolista.Add(new DTOPreuab { id = 2, nom = "test2" });        
IQueryable<DTOPreuab> queryableData = modelolista.AsQueryable<DTOPreuab>();
ParameterExpression pe = Expression.Parameter(typeof(string), "nom");
GetStringMethod
Expression left = Expression.Call(pe, typeof(string).GetMethod("ToLower", System.Type.EmptyTypes));
Expression right = Expression.Constant("test2");
Expression e1 = Expression.Equal(left, right);                    
var lambda = Expression.Lambda<Func<string, bool>>(e1, pe);        

MethodCallExpression whereCallExpression = Expression.Call(
            typeof(Queryable),
            "Where",
            new Type[] {  typeof(IEnumerable<DTOPreuab>)  },
            queryableData.Expression,
            lambda
            ); 
            IQueryable<string> results = queryableData.Provider.CreateQuery<string>(whereCallExpression);
            var response = results.ToArray();

Изображение ошибки

...