0

次の 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 = 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
4

1 に答える 1

1

from <some collection>linq クエリにa がありません

また、複数の値を結合するには、新しい匿名オブジェクトを作成する必要があります。on <foo> equals <bar>

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 ...

ただし、はるかに単純な場合もあります。これまたはこの回答を参照してください。

于 2009-12-22T20:44:53.040 に答える