C# 如何使用linq获取最近10分钟的记录?

C# 如何使用linq获取最近10分钟的记录?,c#,sql,asp.net,linq,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 A

我想从表中最近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 + "";
选择帐号、订单ID、日期
来自OrderItem OI
其中状态='SUCCESS'
AccountNumber=“+AccountNumber+”和DateADD(分钟,-10,getdate())

现在,我想使用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分钟才返回。我已经检查了大于等于的值。

在询问或使用Linqer:-)之前,您应该自己尝试一下