score:14

Accepted answer

You need a where, not a 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;

score:0

Building on @Jon Skeet's answer with a "one liner" alternative that returns the duplicate values, not just the keys:

var duplicates = db.Collections.GroupBy(m => new { m.city, m.name })
                               .Where(a => a.Count() > 1)
                               .SelectMany(a => a.ToList());

Related Query

More Query from same tag