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

时间:2015-10-04 06:24:13

标签: c# sql asp.net linq

我想从表格的最后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重写上面的查询。

2 个答案:

答案 0 :(得分:8)

您需要使用Where linq扩展方法

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

答案 1 :(得分:0)

您可以使用这种方式:

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

它返回直到创建记录的最后10分钟。我检查的大于等于。