admin

Linq子查询使用lambda的同一表

sql

我已经尝试了一段时间使用Linq和lambda表达式来转换SQL中已经存在的查询,但是我缺少了一些东西…

这是SQL查询:

select o.ord_no from orders o  where 1 <= 
(select count(*) from orders where orders.purch_amt < o.purch_amt 
and orders.ord_date = '2012-02-14')

我如何做同样的查询,但使用Linq和lambda表达式?


阅读 165

收藏
2021-06-07

共1个答案

admin

试试这个:

var date = DateTime.ParseExact("20120214", 
                              "yyyyMMdd", 
                               CultureInfo.InvariantCulture);

var result = dbContext.orders
        .Where(q => dbContext.orders
                     .Where(s => s.purch_amt < q.purch_amt)
                     .Where(s => s.ord_date == date).Count() > 0)
        .ToList()
2021-06-07