I have a LINQ Distinct() statement that uses my own custom comparer, like this:
class MyComparer : IEqualityComparer where T : MyType {
Here is my perverse dirty little vanilla C# trick:
entities .GroupBy(e => e.Id) .Select(g => g.First())