Код Entity Framework сначала получает группу по данным в список объектов

#c# #entity-framework

#c# #entity-framework

Вопрос:

Как использовать код Entity Framework сначала, чтобы получить группу по данным, а затем добавить в 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();
  

Ответ №1:

Причина, по которой код не «работает» (ie….it даже не будет собран), потому что метод GroupBy возвращает

IEnumerable<IGrouping<TKey, TElement> и не

IEnumerable<TElement> как это делает метод Where.

Вам нужно изменить объявление вашей переменной для data_cont. Это должно выглядеть следующим образом:

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

Вместо использования списка, подобного этому:

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