LINQ 查询 Return 独占重复

LINQ Query To Return Duplicates Exclusively

我正在处理这个 LINQ 查询。我想要结果列表 return 一个仅包含重复项的记录列表,该列表基于 EMailAddress1 字段并按 EMailAddress1 字段分组。

例如:

  1. 电子邮件地址1@gmail.com
  2. 电子邮件地址1@gmail.com
  3. 电子邮件地址2@gmail.com
  4. 电子邮件地址2@gmail.com
  5. 电子邮件地址2@gmail.com
  6. 电子邮件地址3@gmail.com
  7. 电子邮件地址3@gmail.com

等等

对此有何建议?谢谢。

 var contacts = (from c in xrm.ContactSet 
                        where c.StateCode != 1 
                        orderby c.EMailAddress1, c.CreatedOn 
                        descending select new { 
                            c.FirstName, 
                            c.LastName, 
                            c.EMailAddress1, 
                            c.ContactId, 
                            c.CreatedOn }).ToList();

根据您之前的查询:

var duplicatedEmails = (from c in contacts
                        group c by c.EMailAddress1 into g
                        where g.Count() > 1
                        select g.Key).ToList();
var duplicatedContacts = contacts.Where(c => duplicatedEmails.Contains(c.EMailAddress1));