【发布时间】:2017-10-26 00:22:35
【问题描述】:
在将 SQL 转换为 Linq 时,我需要一些帮助。在 MySQL 中这很简单......
Table: customers
ID Name
1 Bill
2 John
Table: purchases
ID CustomerID CompletedTransaction
1 1 False
2 2 True
3 1 True
4 1 True
SELECT c.ID
c.Name,
COUNT(p.ID) AS TotalPurchases,
SUM(CASE WHEN p.CompletedTransaction = TRUE THEN 1 ELSE 0 END) AS TotalCompleted
FROM customers c
LEFT JOIN purchases p ON c.ID = p.CustomerID
GROUP BY c.ID
Expected Result:
1, Bill, 3, 2
2, John, 1, 1
我已经看到了一些关于如何在 Linq 中实现左连接的示例,但我不确定如何在其中包含 SUM 和 Count。我在 Linq 中看到了从组键中选择返回的字段的示例。这是否意味着如果我在客户表中有更多字段,例如我想返回的地址和其他联系方式,我必须将它们包含在连接中然后才能选择它们?希望这是有道理的。感谢任何可能为我指明正确方向的帮助或链接。
谢谢
【问题讨论】:
标签: c# mysql entity-framework linq entity