簡體   English   中英

加入LINQ中的Where子句

[英]Join with Where Clause in LINQ

我有兩個要與ID聯接的表,但是只能從表A中選擇行,其中表B中的值為空。

我嘗試了這個:

var dbXMLSoccerTeams = (from dbXMLSoccerTeam in data.EFXMLSoccerTeam
     where dbXMLSoccerTeam.ID == (from dbMatchTeam in data.EFMatchingTeamIDs
         where dbMatchTeam.SmarketsID == null
         select dbMatchTeam.XMLSoccerID)
     select dbXMLSoccerTeam);

但是我收到一個錯誤,說運算符==不能用於將int與iQueryable int進行比較

嘗試:

var dbXMLSoccerTeams = (from dbXMLSoccerTeam in data.EFXMLSoccerTeam
                        from dbMatchTeam in data.EFMatchingTeamIDs
                        where dbMatchTeam.SmarketsID == null
                        && dbXMLSoccerTeam.ID == dbMatchTeam.XMLSoccerID
                        select dbXMLSoccerTeam)

在我看來,您實際上應該使用聯接:

var dbXMLSoccerTeams = from dbXMLSoccerTeam in data.EFXMLSoccerTeam
                       join dbMatchTeam in data.EFMatchingTeamIDs
                         on dbXMLSoccerTeam.ID equals dbMatchTeam.XMLSoccerID
                       where dbMatchTeam.SmarketsID == null
                       select dbXMLSoccerTeam;

暫無
暫無

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

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