2013-12-09 29 views
0

在選擇數據,如果我有一個數據這樣的:一組是最新的通過LINQ

UserId/Department/AddedOn 
1/IT/2012.10.1 
2/IT/2012.11.1 
3/Sale/2012.10.2 
4/Sale/2012.9.1 

我想要得到誰是他們系

var query = _dbConetxt.DepartmentUsers.GroupBy(x=>x.Department) 
.Select(x=>new{ 
x.Key, // this is Department 
UserId = null // <--- this is my question, how to get this UserId by lastest AddedOn 
}); 
+0

變種查詢= dbConetxt.GroupBy(X => x.Department) 。選擇(X =>新的{ x.Key, x.UserId }); –

回答

2

最新的最新的用戶只需按照日期添加降序排列每組,然後選擇第一位用戶:

var query = dbContext.Users 
       .GroupBy(u => u.Department) 
       .Select(g => g.OrderByDescending(u => u.AddedOn).First()); 

這將返回每個部門中最近添加的用戶(你甚至不需要創建匿名類型)。