【发布时间】:2019-07-15 10:17:39
【问题描述】:
如何将这个 sql 查询转换为 linq 表达式,我是 linq 的新手并搜索了这个,但我不明白如何转换它。
SELECT
a.afiliacaoid,
DATE_FORMAT(a.horario, '%d/%m/%Y') data,
COUNT(a.afiliacaoid) acessos,
IFNULL(p.pedidos,0) pedidos
FROM
acesso a LEFT JOIN
(SELECT p.afiliacaoid,
DATE_FORMAT(p.cadastro , '%d/%m/%Y') data,
COUNT(p.afiliacaoid) pedidos
FROM pedido p) p ON a.afiliacaoid = p.afiliacaoid
AND DATE_FORMAT(a.horario, '%d/%m/%Y') = data
WHERE
a.afiliacaoid=1
GROUP BY DATE_FORMAT(a.horario, '%d/%m/%Y')
【问题讨论】:
-
我建议你映射这些类,这样就有一个从 acesso 到 pedido 的导航属性,这样你就可以编写类似 a.pedio.Id.Count();
-
可能的 OT:上面的查询是否有效?在没有 GROUP BY 子句的子查询中使用 COUNT 聚合?
-
也许我的SQL to LINQ Recipe 可能有用。
标签: c# mysql linq entity-framework-6