Linq GroupBy如何返回分组到另一个列表中的对象集合?

时间:2011-07-29 03:40:36

标签: linq entity-framework c#-4.0

在使用Linq对集合执行GroupBy之后,我很难尝试返回对象集合。

具体是,我从EF 4.1调用视图时返回了一个CurrentSegmentGroupDetail对象的集合。使用Lambda表达式,我通过SegmentGroup属性对CurrentSegmentGroupDetail对象进行分组。我得到的结果是包含CurrentSegmentGroupDetail对象的SegmetGroup列表。我遇到的问题是尝试将分组结果集返回到List类型。

这是我到目前为止的代码:

    public List<CurrentSegmentGroupDetail> GetSegmentGroupsForReconciliation()
    {
        using (var context = new PricingContext())
        {
            var segmentGroups =
                context.CurrentSegmentGroupDetails.GroupBy(s => s.SegmentGroup).Select(y => y);

            return segmentGroups;
        }
    }

以下是我尝试将结果集传递给List对象时的异常:

“无法隐式转换类型'System.Linq.IQueryable&gt;'到'System.Collections.Generic.List'。

我非常感谢你提供任何帮助。

1 个答案:

答案 0 :(得分:1)

ToList()

return segmentGroups.ToList();