下面的linq查询获取所有站点的所有参数,每个站点(x.station)都有x个参数(x.parameters),我需要所有这些参数用于“result”和“values”。一开始可能有点混乱,因为这行:
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列表中将所有参数存储在“values”中存储的所有工作站中:
List<KeyValuePair<string, string>> myList
更新的
:发现代码正在工作,我做错的是将“values”添加到列表中,可能是firstOrDefault()只接受第一个:
values.AddRange(selectionData.Select(d => d.Values).FirstOrDefault());
回答
:找到正确的方法来存储使用linq检索的所有值
选择许多
这样地:
valores.addrange(selectiondata.selectmany(d=>d.values))选项)
谢谢