Sto cercando di capire un po 'di più su LINQ e usarlo un po' di più, quindi un po 'di lavoro di sviluppo di sé andando qui ...Oggetto con LINQ
Ho un oggetto come segue:
Ora, dato un elenco di giocatori, vorrei selezionare quelli che hanno precedentemente giocato per vari club selezionati, potrei farlo facilmente con un paio di istruzioni foreach nidificate - ma mi piacerebbe farlo con Linq ...
Ho provato questo, ma non viene restituito da esso:
var prevClubs =
from player in players
from clubOriginal in player.previousClubs
from clubSecond in player.previousClubs
from clubThird in player.previousClubs
where clubOriginal.ID == 1
where clubSecond.ID == 2
where clubThird.ID == 3
select new HistoryOfPlayer{
firstClub == clubOriginal.Name,
secondClub == clubSecond.Name,
thirdClub == clubThird.Name
}
Qualsiasi aiuto su dove sto andando male? I dati esistono sicuramente perché quando ho un ciclo foreach che scorre sui club all'interno di un loop che scorre sui giocatori e restituisco una collezione di tutti i giocatori che hanno giocato per i club 1,2 & 3 ci sono dati ...
Effettivamente dovrebbe restituire diverse istanze di un oggetto HistoryOfPlayer, tutte contenenti i nomi degli stessi 3 club (dato che sono collegati su ID) - come dico io, è un po 'di autoapprendimento, quindi provando ad applicarlo allo sport quindi mi infila un po 'in testa !!
Qualcuno può dare una mano?
È necessario eseguire il collegamento con "Join" di "Dove" in LINQ-To-Objects per motivi di prestazioni: http://stackoverflow.com/questions/5551264/why-is-linq-join-so-much-faster -than-linking-with-where –