首页 > 解决方案 > 实体框架代码首先按数据分组到对象列表

问题描述

如何首先使用实体​​框架代码按数据获取分组然后添加到List<object>

我的代码似乎不起作用:

public IEnumerable<Data> getData()
{
    List<Data> data_cont = new List<Data>();

    DataContent db = new DataContent();

    // not working code 
    data_cont = db.MyData.GroupBy(f => f.start_station_num).ToList();

    return data_cont;
}

为什么不像这样.GroupBy工作.Where

// working code
data_cont = db.MyData.Where(x => x.start_station_num == "\"31232\"").ToList();

标签: c#entity-framework

解决方案


代码不“工作”(即......它甚至不会构建)的原因是因为 GroupBy 方法返回

IEnumerable<IGrouping<TKey, TElement>而不是一个

IEnumerable<TElement>就像 Where 方法一样。

您需要更改 data_cont 的变量声明。它应该如下所示:

List<IGrouping<string, Data>> data_cont = null;

而不是像这样使用列表:

List<Data> data_cont = new List<Data>();

推荐阅读