首页 > 解决方案 > 如何 LINQ 查询显示重复的记录 2 次或少于两次重复

问题描述

我有一张这样的桌子:

---------------------------------------
|       Name       |       code       |     
---------------------------------------
|       Sam                01         |
|       Sam                01         |
|       Sam                01         |
|       Dani               02         |
|       Dani               02         |
|       Vector             03         |
|       vector             03         |
|       vector             03         |
|       Sara               04         |
---------------------------------------

我需要显示重复的录音,例如 2 次或少于 2 次

result : (Records <= 2)

    Dani               02 
    Dani               02
    Sara               04

我的 LINQ 查询从两个表和条件中选择:

var result = (from ArdSamanehs in _entity.ArdSamanehs
           join TableExcels in _entity.TableExcels
           on new { ArdSamanehs.Cardex, DorehNo = 
           (string)ArdSamanehs.DorehNo }
           equals new { Cardex = TableExcels.CardexN, DorehNo = "12" }
                      group new { ArdSamanehs, TableExcels } by new
                      {
                          ArdSamanehs.NameFamily,
                          ArdSamanehs.Doreh,
                          ArdSamanehs.CityDesc,
                          TableExcels.CardexN,
                          ArdSamanehs.Cardex,
                          ArdSamanehs.Date
                      } into g

                      orderby
                        g.Key.NameFamily

                      select new
                      {
                          g.Key.NameFamily,
                          g.Key.Doreh,
                          g.Key.CityDesc,
                          g.Key.Date
                      }).ToList();

如何在 C# 中 LINQ 我的查询?

标签: entity-frameworklinq

解决方案


请试试这个。

  var lists = result.GroupBy(x => new { x.Name, x.Code})
                              .Where(x => x.Count() <= 2).SelectMany(x => x)
                              .ToList();

推荐阅读