0
我有这样的SQL代码:LINQ - 左加入,集团通过,点心,
select A.Recurso_Id, sum(case when B.cita_id is null then 0 else 1 end) as Total_Eventos,
a.Recurso_Nombre, a.Recurso_Email,a.Recurso_Activo
from Agenda_Recurso a left join Agenda_Cita B
on A.Recurso_Id=B.Recurso_Id
group by A.Recurso_Id,a.Recurso_Nombre, a.Recurso_Email,a.Recurso_Activo
而且,我需要平移,到LINQ,其实我有这样的代码:
List<Select> _ListaSelect = (from R in _LstRecursos
join C in _LstCitas
on R.Id equals C.Recurso_Id
group R by new {C.Recurso_Id, R.Nombre} into total
select new Select()
{
Cantidad_Eventos = total.Sum(R=> R.Id),
Recurso_Nombre= total.Max(R=> R.Nombre),
Recurso_Email=total.Max(R=>R.Email),
Recurso_Activo=total.Max(R=>R.Activo),
Id_Recurso=total.Max(R=>R.Id)
}).ToList();
但是,这是行不通的。你可以帮我吗?
请解释*如何*它不工作。 –
LINQ'join'默认使用内部连接。您的SQL查询使用左连接。这就是为什么你会得到不同的结果。你必须使用'join ... in ... on ... into x from ... in x.DefaultIfEmpty()'模式来获得LINQ中的左外连接。 – MarcinJuraszek
在这种情况下,我想添加来自Resource_Id的所有内容,知道有多少约会关联了一个资源,但是它的作用是添加我拥有的所有数字Resource_Id – Broodwing009