gpt4 book ai didi

c# - 如何使用计数和属性将 MySql 查询转换为 Linq

转载 作者:行者123 更新时间:2023-11-29 03:00:49 25 4
gpt4 key购买 nike

我在这里需要一些帮助,想要显示包含以下列的列表:numpet、NombreAyuda、TipoAyuda 我如何使用 linq 执行此操作?

 SELECT count(a.idAyuda) AS numpet, 
a.NombreAyuda,
a.TipoAyuda
FROM PeticionCiudadano AS p
JOIN Ayuda AS a ON (p.idAyuda = a.idAyuda)
GROUP BY p.idAyuda
ORDER BY numpet desc;

我有这个,但我不知道如何显示 name(a.NombreAyuda) 的属性

 var listaAyudas = (from p in DB.PeticionCiudadano 
join a in DB.Ayuda on p.idAyuda equals a.idAyuda
group p by p.idAyuda into g
select new {numPet=g.Count(), name=g.Key});

最佳答案

如果该 SQL 在 mysql 中有效(在 SQL Server 中无效),那么它会根据 select 推断 group by 子句的一些附加部分来工作列和连接方向。更明确的 SQL 是:

SELECT count(a.idAyuda) AS numpet, 
a.NombreAyuda,
a.TipoAyuda
FROM PeticionCiudadano AS p
JOIN Ayuda AS a ON (p.idAyuda = a.idAyuda)
GROUP BY a.NombreAyuda, a.TipoAyuda
ORDER BY numpet desc;

这应该是如何修复它的重要线索:明确地按这些列分组:

var listaAyudas = (from p in DB.PeticionCiudadano 
join a in DB.Ayuda on p.idAyuda equals a.idAyuda
group p by new { a.NombreAyuda, a.TipoAyuda } into g
select new {
numPet=g.Count(),
g.Key.NombreAyuda,
g.Key.TipoAyuda
});

请注意,您可能还需要添加 orderby 子句。

关于c# - 如何使用计数和属性将 MySql 查询转换为 Linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23991317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com