2011-12-06 32 views
2

我有一個問題...我有三個表:gamegamelistplayergame表包含遊戲,gamelist包含所有想要在遊戲中玩的玩家,而player表包含所有玩家。需要那些不在表中

我有此查詢:

var query1 = from es in gr.games 
      join esh in gr.gameLists on es.id equals esh.gameID 
      where es.holdID == play.holdID && esh.playerID.HasValue && esh.playerID == personID 
            select es; 

這個查詢得到我所有的遊戲玩家已經簽署了...但我怎麼得到的所有比賽,他還沒有簽署了?任何提示或想法?

回答

1

你可以簡單反轉的連接條件,那就是選擇game不在gameLists
然而,由於LINQ僅支持equi-join,你必須使用它與where條款過濾一個cross join表示:

0

如果你有一個所有遊戲的列表,你可以檢查哪些遊戲在這個完整的列表中,並非在玩家已經註冊的遊戲列表中令人興奮。這樣你可以提取他沒有註冊的所有遊戲。

相關問題