我得到了表格「Actions」,其中包含像Player,Game,Type - ale等字段與其他表格相連的字段。我在我的C#代碼也是兩個列表:Linq - 選擇列表上的行
List<Player> playersForStats
List<Game> gamesForStats
現在我想從操作這(場)玩家都在名單playersForStats和(場)比賽中,以列表gamesForStats選擇行。我怎樣才能使用LINQ?我必須使用內部連接或其他東西?
var oActions = ..
var oData = oActions.Where(c=> c.Players.TrueForAll(p => playersForStats.Contains(p)) && gamesForStats.Contains(c.Game));
假設c.Players
是List
而c.Game
是場:如果你的對象有適當的equals方法
謝謝!這個解決方案工作得很好,但我還有一個問題。 如果我想要使用這個解決方案: 列表結果=(來自oAction的行動 加入遊戲在gamesForStats on oAction.Game等於game.GameName ......)ToList(); 我得第一行更改爲: 列表結果=(從oAction在actions.asEnumerable()..... 因爲行動是我的SqlServer表 它可以減緩我的程序(becuse談話並從服務器發送數據)? 也許更快是使用包含()方法的解決方案,並在SqlServer上進行查詢? –
Sparkzi
最快的解決方案是在您的數據庫中創建一個視圖,並通過Web服務從您的服務器直接調用它,例如 –