c#: linq DistinctBy<T>