Преобразовать IQueryable <> текстовый объект для Списка <T> типа?

Я имею IQueryable<> объект.

Я хочу Преобразовать его в List<> с выбранными столбцами как new { ID = s.ID, Name = s.Name }.

Отредактированный

Marc Вы абсолютно правы!

но у меня есть только доступ к FindByAll() Метод (из-за моей архитектуры).

И это дает мне целый объект в IQueryable<>

И у меня есть строгое требование (для создания json объект для избранного тега), чтобы иметь только list<> введите с двумя полями.

48
задан ClearLogic 26 June 2019 в 02:18
поделиться

3 ответа

Затем просто Выберите :

var list = source.Select(s=>new { ID = s.ID, Name = s.Name }).ToList();

(редактировать) На самом деле - имена могут быть выведены в этом случае, так что вы можете использовать:

var list = source.Select(s=>new { s.ID, s.Name }).ToList();

, который экономит несколько электронов ...

67
ответ дан 7 November 2019 в 12:13
поделиться

Добавьте следующее:

using System.Linq

... и вызовите ToList () для IQueryable <> .

42
ответ дан 7 November 2019 в 12:13
поделиться

System.Linq имеет ToList () для IQueryable <> и IEnumerable <>. Это приведет к полному прохождению данных и внесению их в список. Вы теряете свой отложенный вызов, когда вы делаете это. Ничего страшного, если он является потребителем данных.

6
ответ дан 7 November 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: