【问题标题】:How can I convert this sql statement to linq expression如何将此 sql 语句转换为 linq 表达式
【发布时间】: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


【解决方案1】:

我建议使用这个工具来转换:https://www.linqpad.net/

【讨论】:

    【解决方案2】:

    这是一个可能对您有帮助的好工具 - http://www.sqltolinq.com

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 2011-01-24
      • 1970-01-01
      • 2021-12-23
      相关资源
      最近更新 更多