Find duplicates in a table using LINQ : I am trying to find people with same name and surname in one table and so far I have written this LINQ query. This query gives me a cross join result. Can someone help me to remove the similar set of results, please?

For eg
if the result is 
1,2
1,3
2,1
2,3
3,1
3,2  
I want the result to be 1,2
1,3
2,3



    var query = from ori in db.People
                from dup in db.People                        
                select new DuplicateDataSet
                   {
                     ActiveMember = ori,
                     DuplicateMember = dup
                   };

    if (!string.IsNullOrEmpty(memberFirstName))
         query = query.Where(w => w.ActiveMember.GivenName.Trim() == memberFirstName && w.DuplicateMember.GivenName.Trim() == memberFirstName );
    if (!string.IsNullOrEmpty(memberSurname))
         query = query.Where(w => w.ActiveMember.Surname.Trim() == memberSurname && w.DuplicateMember.Surname.Trim() == memberSurname);

    query = query.Where(w => w.ActiveMember.PersonID != w.DuplicateMember.PersonID && w.ActiveMember.MemberID != w.DuplicateMember.MemberID);
    newList = query.Take(100).ToList();