Linq: «Новое» ключевое слово не работает для выбора нескольких полей (Динамическая библиотека) - PullRequest
0 голосов
/ 01 августа 2011

Я обновил код DynamicLibrary для возможности запуска запроса, такого как:

objects.Where(obj => obj.color == "blue").Select(obj => obj.name);

Он работает нормально.Теперь я пытаюсь заставить это работать:

objects.Where(obj => obj.color == "blue").Select(new {obj.name, obj.type});

Не работает ... Затем я посмотрел на "Новый" парсер ключевых слов в DynamicLibrary.cs.Поэтому я попытался:

objects.Where(obj => obj.color == "blue").Select("new(obj.name, obj.type)");

И теперь я получаю что-то вроде: "')' отсутствует" ..

(я все еще новичок в Linq)

Спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 01 августа 2011

Похоже на ваш

       objects.Where(obj => obj.color == "blue").Select(new {obj.name, obj.type});

должно быть на самом деле

       objects.Where(obj => obj.color == "blue").Select(obj => new {obj.name, obj.type});

Дайте мне знать, если это поможет.

0 голосов
/ 01 августа 2011

Существует эволюция библиотеки Dynamic Linq, в которой используется ключевое слово c # dynamic, поэтому у вас нет строк , доступных в nuget , и хотя она еще не завершена, исходная библиотека примеров кода динамического linq не былавполне достаточно, мой стоит проверить.Вот сообщение в блоге об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...