Sql 使用linq的多个内部联接
我有下面的sql语句,需要知道如何在linq中编写它,但我不知道如何编写多个内部联接Sql 使用linq的多个内部联接,sql,linq,inner-join,Sql,Linq,Inner Join,我有下面的sql语句,需要知道如何在linq中编写它,但我不知道如何编写多个内部联接 SELECT Zugehörigkeiten.PK_Dept_ID FROM mitarbeiter INNER JOIN (abteilungen INNER JOIN Zugehoerigkeiten ON abteilungen.PK_Dept_ID = Zugehoerigkeiten.PK_Dept_ID) ON mitarbeiter.MA_ID =
SELECT Zugehörigkeiten.PK_Dept_ID
FROM mitarbeiter
INNER JOIN (abteilungen
INNER JOIN Zugehoerigkeiten
ON abteilungen.PK_Dept_ID = Zugehoerigkeiten.PK_Dept_ID)
ON mitarbeiter.MA_ID = Zugehoerigkeiten.MA_ID
WHERE (((Zugehörigkeiten.MA_ID)=1));
这就是我得到的:
var erg = from mitarbeiter
join abteilungen
join Zugehoerigkeiten on abteilungen.PK_Dept_ID equals zugehoerigkeiten.PK_Dept_ID on mitarbeiter.MA_ID equals Zugehoerigkeiten.MA_ID
where zugehoerigkeiten.MA_ID=1
linq查询中缺少来自的
此外,要连接多个值,您需要创建新的匿名对象,因为您只允许在equals上有一个
但有时可能会简单得多。看到或回答
var erg = from mitarbeiter in mitarbeiters
join a in abteilungen
join z in Zugehoerigkeiten
on new { a.PK_Dept_ID, mitarbeiter.MA_ID }
equals new { z.PK_Dept_ID, z.MA_ID }
where zugehoerigkeiten.MA_ID=1
select ...