Несколько JOIN в Linq-to-SQL - PullRequest
       0

Несколько JOIN в Linq-to-SQL

0 голосов
/ 31 октября 2018

Я пытаюсь выполнить следующий запрос в linq-to-sql (объединяя 3 разные таблицы):

select * from tbl_round r 
inner join tbl_election e on r.fk_election_id = e.election_id
inner join tbl_meeting m on m.meeting_id = e.fk_meeting_id

Вот что я имею, но не правильно:

from round in db.tbl_rounds
join meeting in db.tbl_meetings on election.fk_meeting_id equals meeting.meeting_id 
join election in db.tbl_elections on round.fk_election_id equals election.election_id 
select round;

Ошибка, которую я получаю, заключается в том, что имя «выборы» не существует в текущем контексте.

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Поскольку вы использовали "выборы" до того, как они были объявлены.

from round in db.tbl_rounds
join meeting in db.tbl_meetings on -->election<--.fk_meeting_id equals meeting.meeting_id 
join -->election<-- in db.tbl_elections on round.fk_election_id equals election.election_id 
select round;

В этом случае вам необходимо изменить порядок в запросе.

Запрос должен выглядеть следующим образом:

from round in db.tbl_rounds
join election in db.tbl_elections on round.fk_election_id equals election.election_id
join meeting in db.tbl_meetings on election.fk_meeting_id equals meeting.meeting_id 
select round;
0 голосов
/ 31 октября 2018

Вам придется переупорядочить оператор соединения, вероятно, как

from round in db.tbl_rounds
join election in db.tbl_elections on round.fk_election_id equals election.election_id
join meeting in db.tbl_meetings on election.fk_meeting_id equals meeting.meeting_id  
select round;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...