如何获得最后10分钟的记录使用linq

本文关键字:linq 记录 何获得 最后 10分钟 | 更新日期: 2023-09-27 18:15:58

我想从最近10分钟从表中插入的记录写LINQ查询。我怎么写呢?请帮帮我。

下面是我的SQL查询:
SELECT AccountNumber, OrderID,RechargeDate 
FROM    OrderItem OI
WHERE RechargeStatus = 'SUCCESS' 
  AND AccountNumber ='" + AccountNumber + "' and DateADD(minute, -10,getdate() ) < RechargeDate  AND OrderItemID <> " + OrderItemID + "";

现在,我想用LINQ重写上面的查询。

如何获得最后10分钟的记录使用linq

您需要使用Where linq扩展方法。

db.OrderItems.Where(x => x.RechargeStatus.Equals("SUCCESS") && 
                         x.AccountNumber == strAccountNumber &&
                         x.RechargeDate > DateTime.Now.AddMinutes(-10) &&
                         x.OrderItemID != OrderItemID )

可以这样使用:

db.OrderItems.Where(x=>x.RechargeStatus.Equals("SUCCESS") && 
                   x.AccountNumber == strAccountNumber &&
                   x.RechargeDate >= DateTime.Now().AddMinutes(-10) &&
                   x.OrderItemID != OrderItemID )

直到最后10分钟才返回创建的记录。