LINQ获得最新状态

时间:2016-09-21 05:25:32

标签: sql sql-server linq linq-to-sql

我在SQL中有两个表,一个是用户表,另一个是状态表,我希望使用LINQ显示最新状态。

 /// User Table//
userID (Pk) userName telephonenumber 
 1             xx1       xxxxxxxx
 2             xx2       xxxxxxxx2
 3             xx3       xxxxxxxx3
 4             xx4       xxxxxxxx4


statusID(pk)  userID   statusMessage       createdAt    
   1           2        ddddddddx      2012-09-18 13:30:08
   2           4        zzzzddddd      2012-09-18 13:30:10 
   3           1        ssswessss      2012-09-18 16:30:10 
   4           2        ddddddddd      2012-09-18 16:30:15
   5           4        xxxxxweew      2012-09-18 17:30:18

2 个答案:

答案 0 :(得分:1)

假设Statuses是您的第二个表的名称,您可以使用:

dbContext.Statuses.OrderBy(a => a.createdAt).Last();

您可以添加一些过滤器(例如用户ID),但未指明该过滤器。

更新1,按特定用户ID过滤

dbContext.Statuses.Where(a => a.userID = someID)
                  .OrderBy(a => a.createdAt)
                  .Last();

答案 1 :(得分:1)

以下内容应该:

result.Max(m => m.createdAt) //To get latest record
result.Min(m => m.createdAt) //To get earlier record