Chcę zrobić JOIN z LINQ za pomocą instrukcji LUB.LINQ dołącz z OR
Oto zapytań SQL Zaczynam:
SELECT t.id
FROM Teams t
INNER JOIN Games g
ON (g.homeTeamId = t.id OR g.awayTeamId = t.id)
AND g.winningTeamId != 0
AND g.year = @year
GROUP BY t.id
Mam problem konwersji, że w klauzuli LINQ. To jest, gdy jestem na:
var y = from t in db.Teams
join g in db.Games on t.ID equals g.AwayTeamID //missing HomeTeamID join
where g.WinningTeamID != 0
&& g.Year == year
group t by t.ID into grouping
select grouping;
Myślę, że mógłbym użyć:
join g in db.Games on 1 equals 1
where (t.ID == g.HomeTeamID || t.ID == g.AwayTeamID)
i to działa, ale wydaje się niby wydaje hacky. Czy istnieje lepszy sposób?
Zdecydowanie chcę użyć || ale miałem nadzieję, że mogę to umieścić w JOIN. Jeszcze go nie uruchomiłem, aby przetestować to, co jest wyjściowe sql, ale mam to kompilowanie z 1 równa się 1 w złączeniu i moim OR w dół w klauzuli where. – AndyMcKenna