A gotcha that got me :) If you’re used to using List<T> collections, and in particular the way they compare, then you need to know that an EntitySet (from LINQ to SQL) does the comparison differently… In my experience, if I’ve created a class, for example: internal class Simple { public int TheInt { get; set; } public string TheString { get; set; } public Simple(int theInt, string theString) { TheInt = theInt; TheString = theString; } } And I then add some instances of this class to a List<Simple>, ......