使用linq分组并计数

时间:2016-08-04 06:49:27

标签: c# linq

我有一个结果类:

public class Ville
{
    public int Nombre { get; set; }
    public string Name { get; set; }
    public int id { get; set; }
}

我有一个list<AnnonceRecherche>,我需要在此列表中按AnnonceRecherche.CodeInsee对该分组进行查询并计算该组中的项目,按顺序降序并映射Ville.Nombre=count()和{{1} }和vilee.name=AnnonceRecherche.Name

我这样开始查询,但是id没有找到如何映射名称:

ville.id=AnnonceRecherche.CodeInsee

请帮忙吗?

1 个答案:

答案 0 :(得分:2)

由于您是按唯一列进行分组,因此如果其值对第一列也是唯一的,则始终可以添加第二列:

var query = (from annonce in newresults
            group annonce by new { annonce.Id, annonce.Name }
            into grouping
            select new Ville 
            {
                 ID = grouping.Key.Id, 
                 Name = grouping.Key.Name, 
                 Nombre = grouping.Count() 
            }).OrderByDescending(x=> x.Nombre);