2014-03-17 2 views
0

Из данных sql, приведенных ниже, я хотел бы взять отдельный EmpId, который является максимальным ID.Как выбрать MAX ID с помощью LINQ?

ID EmpId DeptId 
1 1002 XY 
5 1100 ABC 
6 1109 EF 
7 1100 MN 
9 1100 DE 
10 1250 CE 
11 1250 DJ 
12 1100 DE 

Результаты будут выглядеть следующим образом:

ID EmpId DeptId 
1 1002 XY 
6 1109 EF 
11 1250 DJ 
12 1100 DE 

Как это должно быть структурировано LINQ?

ответ

5
var result = list.GroupBy(x=>x.EmpId).Select(g=>g.OrderByDescending(y=>y.Id).First()); 
+4

@ Selman22 Вы не правы. см. 'OrderByDescending'. Внимательно прочитайте ответ перед тем, как начать опрос. – EZI

+3

@ Selman22 ты все еще не прав .... Попробуй ... – EZI

0
from e in context.Employees 
group e by e.EmpId into g 
select new {EmpId = g.Key, 
      ID = g.OrderByDescending(gg=>gg.ID).FirstOrDefault().ID, 
      DeptId = g.OrderByDescending(gg=>gg.ID).FirstOrDefault().DeptId 
      } 
Смежные вопросы