The standard LINQ .Distinct() function will pass your IEnumerable items to the 'default comparer' to differenciate the items.
If your IEnumerable contains objects of an arbitrary class you would ordinarily have to create a IEqualityComparer to compare the relavent property of each instance.
This seems like too much work just to simply remove objects that have a duplicate property value.
I came up with a workaround for this using the 'group' keyword to group your objects by the target property and to then select the first record from each group, using the 'First' extension.
var distinctByWeekNum = from e in allUserEntries
group e by e.WeekNumber into g
The above example basically selects all objects that are distinct based on the 'WeekNumber', by first grouping items with the same 'WeekNumber' together and then selecting only the first item from each group (thus dropping any duplicates).