C# 使用Linq查找重复行
人C# 使用Linq查找重复行,c#,linq,C#,Linq,人 Name City Joe Houston Jerry London Alex Houston Jerry London 如何使用LINQ like返回重复行 Sql SELECT name, city, count(*) FROM collection GROUP BY name,city HAVING count(*) > 1 我试过了 var qry = from m
Name City
Joe Houston
Jerry London
Alex Houston
Jerry London
如何使用LINQ like返回重复行
Sql
SELECT name, city, count(*)
FROM collection
GROUP BY name,city
HAVING count(*) > 1
我试过了
var qry =
from m in context.Collections
group m by new { m.city, m.name } into grp
select new { rp = grp.Count() > 2 };
您需要的是where,而不是select:
var qry = from m in context.Collections
group m by new { m.city, m.name } into grp
where grp.Count() > 1
select grp.Key;
以Jon Skeet的答案为基础,使用“一行”选项返回重复值,而不仅仅是键:
var duplicates = db.Collections.GroupBy(m => new { m.city, m.name })
.Where(a => a.Count() > 1)
.SelectMany(a => a.ToList());
嗨,约翰,我想问一个问题。是否可以选择重复的行键和值?