SelectMany方法将序列中的每个元素投影到IEnumerable,并将生成的序列展平为一个序列。
当我写以下代码时,我得到了错误:
方法Enumerable.SelectMany的类型参数无法从用法推断
var model = new Overview()
{
ModelData = data.GroupBy(g => g.GroupingId1).Select(s => new OverviewdataGrouped()
{
Id = s.Key,
Grouping = s.GroupBy(gr => gr.GroupingId2). Select(se => new OverviewdataGroupedFurther()
{
Id= se.Key,
Grouping2 = se.Any() ? se.SelectMany(sel => sel).ToList() : new List<DataModel>()
})
})
};
据我所知,这就是我总是从IGrouping
中选择数据的方式,但由于某种原因,它不以这种方式工作。有人知道我遗漏了什么吗?或者可能是什么问题?
(注意,SelectMany
中的变量sel包含正确的类型(DataModel((
SelectMany方法的使用似乎是多余的,因为se
是分组操作的结果。尝试替换此:
se.SelectMany(sel=>sel(.ToList((
通过此:
se.ToList((