Linq CreateQuery выдает исключение - PullRequest
0 голосов
/ 17 марта 2019

Когда я пытаюсь использовать динамический запрос списка запросов, я получаю исключение только для некоторых функций Linq, как показано ниже.

Это прекрасно работает (также Select(...)):

string query = @"@0.Where(TControl==""skip"")";
var expression = new ExpressionParser(null, query, new[] { list.AsQueryable() }, null).Parse(null);
var result = list.AsQueryable().Provider.CreateQuery(expression);

Это исключение (также First(...) или Last(...)):

string query = @"@0.FirstOrDefault(TControl==""skip"")";
var expression = new ExpressionParser(null, query, new[] { list.AsQueryable() }, null).Parse(null);
var result = list.AsQueryable().Provider.CreateQuery(expression);

В последней строке выдается: System.ArgumentException: 'Argument expression is not valid'

Что мне не хватает? Я подозреваю, что проблема может быть в типе возвращаемого значения - первое перечисляемое, а второе - тип элемента. Если так, как я могу заставить их работать оба?

...