【问题标题】:LINQ get the latest statusLINQ 获取最新状态
【发布时间】:2016-09-21 05:25:31
【问题描述】:

我在 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

【问题讨论】:

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


    【解决方案1】:

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

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

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


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

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

    【讨论】:

    • @thanks,按用户 ID 过滤,对于特定的用户 ID,我想显示,喜欢等于状态表用户 ID 的用户表用户 ID
    【解决方案2】:

    以下应该做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 2021-01-31
      • 1970-01-01
      • 2021-06-26
      相关资源
      最近更新 更多