【发布时间】:2018-02-08 09:10:53
【问题描述】:
我需要将以下复杂的 sql 查询转换为 C# 中的 Linq:
Select Empleador.NombreComercial as Empresa,
Vacante.Puesto as Vacante,
Vacante.Actividades,
COUNT(Vacante.CveVacante) as Visitas
from Vacante
LEFT JOIN Empleador on Empleador.CveEmpleador=Vacante.CveEmpleador
LEFT JOIN VisitaVacante on Vacante.CveVacante = VisitaVacante.CveVacante
GROUP BY Empleador.NombreComercial,Vacante.Puesto, Vacante.Actividades,
Vacante.CveVacante HAVING COUNT(*) > 1 ORDER BY Visitas DESC
目前我已经拥有以下内容:
var Visitas = (from tvacante in db.VacanteT
join tEmpleador in db.EmpleadorT on tvacante.CveEmpleador equals tEmpleador.CveEmpleador
join tVisitaVacante in db.VisitaVacanteT on tvacante.CveVacante equals tVisitaVacante.CveVacante
select new
{
Empresa = tEmpleador.NombreComercial,
Vacante = tvacante.Puesto,
tvacante.Actividades,
Visitas = tvacante.CveVacante
}).GroupBy( );
如何添加COUNT(Vacante.CveVacante) as Visitas 以及
GROUP BY Empleador.NombreComercial,Vacante.Puesto, Vacante.Actividades,
Vacante.CveVacante HAVING COUNT(*) > 1 ORDER BY Visitas DESC
我的 linq 查询?我找不到有关如何完成此操作的信息。这些表是 tvacante、 Templeador 和 tvisitaVacante。
【问题讨论】:
-
有什么理由需要转换它吗?你能在数据库上创建一个 SP 并调用它吗?
-
是的,我需要转换它,因为我需要通过这个查询填充一个reportViewer,在我使用sqlCommand 填充reportviewer 之前,但是我的老板要求我使用Linq,这就是原因
标签: c# sql linq count group-by