I have the following linq expression:
AgentsFilter = new BindableCollection<NameValueGuid>((
from firstEntry in FirstEntries
select new NameValueGuid {
Name = firstEntry.Agent,
Value = firstEntry.AgentId
}).Distinct()
);
But because of some reason, the AgentsFilter Collection is full of duplicates. What is wrong with my Distinct()?
Distinctwill use theEqualsmethod onNameValueGuidto find duplicates. IF you do not overrideEquals, then it will check references.You can add an extra step to avoid overriding Equals, by using an anonymous type. Anonymous types automatically override Equals and GetHashCode to compare each member. Doing the distinct on the anonymous type, then projecting that onto your class will solve the problem.