Следующий запрос LINQ получает все параметры для всех станций, каждая станция (x.station) имеет параметры X (x.parameters), и все они нужны как для «Результата», так и для «Значения».Поначалу это может немного сбить с толку, поскольку эта строка:
from x in selection.Parameters
представляет x станций, а не x параметров.
Запрос LINQ:
var selectionData =
from x in selection.Parameters
select new
{
Result = "(p.col_IdEstacion = " + x.Station + " and p.col_Sigla in(" +
("'" + string.Join("','", x.Parameters) + "'") + "))",
Values =
(
from y in x.Parameters
select new KeyValuePair<string, string>(
x.Station.ToString(), y)).ToList()
};
причина, по которойЯ делаю это потому, что я хочу сохранить все параметры на всех станциях, которые позже будут храниться в «Значениях» в списке KeyValuePair:
List<KeyValuePair<string, string>> myList
ОБНОВЛЕНО : обнаружен кодработает, что я делаю неправильно, чтобы добавить 'Значения' в список, это может быть FirstOrDefault (), который принимает только первый:
values.AddRange(selectionData.Select(d => d.Values).FirstOrDefault());
ОТВЕТ : выяснилправильный способ сохранить все значения, полученные с помощью LINQ, использует SelectMany , например:
valores.AddRange (selectionData.SelectMany (d => d.Values))
Спасибо