【发布时间】:2017-02-09 08:47:56
【问题描述】:
我有这个需要转换为 LINQ 的 SQL 查询。
SELECT p.productId, p.name, COUNT(np.ID) AS 'salesLast70', p.quantity
FROM Products p
LEFT JOIN NOrderProducts np
ON np.product_id = p.productId
WHERE np.date_picked > DATEADD(DAY, -70, getdate())
GROUP BY p.productId, p.name, p.quantity
HAVING COUNT(np.ID) < p.quantity
现在我有以下 LINQ 查询。
var date70 = DateTime.Now.AddDays(-70).Date;
var almostOutOfStockProducts = from p in db.Products
join np in db.NOrderProducts on p.productId equals np.product_id
where np.date_picked > date70
group np by np.ID into npGrp
where npGrp.Count() < p.quantity
select p;
但p 无法在> p.quantity 和select p 的LINQ 查询末尾解析。
我确定我在我的 LINQ 查询中遗漏了一些东西,但我似乎无法找到确切的解决方法。
编辑:
我最终在原始查询中使用了db.Database.SqlQuery();。
【问题讨论】: