Хорошо, если вам все равно, какой сотрудник будет удален, вы можете попробовать что-то вроде:
var result = query.GroupBy(x => x.EmployeeId)
.Select(group => group.First());
Вы не указали, находится ли это в LINQ to SQL, LINQ to Objects или что-то еще... Я не знаю, что это будет за перевод на SQL.Если вы имеете дело с относительно небольшим объемом данных, вы всегда можете принудительно запустить этот последний бит:
var result = query.AsEnumerable()
.GroupBy(x => x.EmployeeId)
.Select(group => group.First());
В этот момент вы можете использовать MoreLINQ , который имеетудобный DistinctBy
метод:
var result = query.AsEnumerable()
.DistinctBy(x => x.EmployeeId);