Entity Framework — подсчитывать записи с одинаковыми именами

#c# #entity-framework

#c# #entity-framework

Вопрос:

У меня есть таблица customer, заполненная сведениями о клиентах, и я хотел бы подсчитать все записи в этой таблице и вернуть, сколько записей существует в таблице для каждого имени.

Итак, если у меня есть два клиента с именем Erik и три записи с именем Roberts. Функция вернет два Erik и три Robers.

Ответ №1:

Как насчет этого?

 Customers.GroupBy(x => x.Name)
    .Select(x => new { Name = x.Key, Count = x.Count() })
  

Ответ №2:

Для этого вы могли бы использовать группу по части linq

 from grp in (
    from customer in customers
    group customer.Name by Customer.Name
 select new {Name = grp.Key, Count = grp.Count()};
  

Это даст вам набор объектов со свойством «Name» и свойством «Count», подсчитывая, сколько клиентов с этим конкретным именем у вас есть. Затем вы можете использовать эту информацию по мере необходимости