I am playing with LINQ to learn about it, but I can\'t figure out how to use Distinct when I do not have a simple list (a simple list of integers is pretty easy
Distinct
You should be able to override Equals on person to actually do Equals on Person.id. This ought to result in the behavior you're after.