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

Потому что вы делаете цикл дважды:

Изменить

$rearrangedFinalData = array();
foreach($finalData AS $first) {
    foreach($first AS $data) { // <-- Remove this extra loop.
        $temp = array();
        $temp['part_no'] = $data['part_no'];
        $temp['sale_qty'] = isset($data['sale_qty']) ? $data['sale_qty'] : $data['csale_qty'];
        $rearrangedFinalData[] = $temp;
    }
}

Кому:

$rearrangedFinalData = array();
foreach($finalData AS $first) {
        $temp = array();
        $temp['part_no'] = $first['part_no'];
        $temp['sale_qty'] = isset($first['sale_qty']) ? $first['sale_qty'] : $data['csale_qty'];
        $rearrangedFinalData[] = $temp;
}
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
поделиться
Другие вопросы по тегам:

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