簡體   English   中英

Linq-to-SQL中的多個JOIN

[英]Multiple JOIN in Linq-to-SQL

我正在嘗試在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;

我得到的錯誤是名稱“ election”在當前上下文中不存在。

您可能需要重新排序join語句,例如

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;

因為在聲明之前使用了“選舉”。

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM