How to get distinct rows from a list using LINQ

How to get distinct rows from a list using LINQ:

Think about a situation when records in list are something like below: Employee1: EmployeeId=1, Name=”Name1″, EmployeeType=2; Employee2: EmployeeId=2, Name=”Name2″, EmployeeType=3; Employee3: EmployeeId=3, Name=”Name3″,  EmployeeType=1;

Employee4: EmployeeId=4, Name=”Name4″,  EmployeeType=2;

Employee5: EmployeeId=5, Name=”Name5″,  EmployeeType=3;

And we want the records of Employee1, Employee2, Employee3 (which are actually distinct according to our  requirement for EmployeeType).
Here if we use distinct in our select query then it will return all(above 5 records) the employee records.

So, to achieve our requirement we need to use GroupBy like below:

List DistinctEmployee = AllEmployee
.GroupBy(CurrentEmployee => CurrentEmployee.EmployeeType)
.Select(EmployeeRecords => EmployeeRecords.First())
.ToList();

We can also define groups on multiple properties, like below:

List DistinctEmployee = AllEmployee
.GroupBy(CurrentEmployee => CurrentEmployee.EmployeeType, CurrentEmployee.Name)
.Select(EmployeeRecords => EmployeeRecords.First())
.ToList();

There must be other simpler ways to achieve above.

150 150 Burnignorance | Where Minds Meet And Sparks Fly!