Linq CreateQuery выдает исключение

Когда я пытаюсь использовать динамический запрос списка запросов, я получаю исключение только для некоторых функций 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'

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

0 ответов

Другие вопросы по тегам