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