Ho una domanda sul rendimento di LINQ con un foreach
su entità interrogabili da Entity Framework.È richiesta lista quando si utilizza foreach con LINQ alle entità
è meglio (e più veloce) per effettuare una
foreach(var thing in myentities.GetThemAll())
o
foreach(var thing in myentities.GetThemAll().ToList())
Sarà il primo esempio effettivamente causare myentities.GetThemAll().Count()
(+1?) Viaggi al database ogni raccolta di una riga ?
Quindi, se faccio solo un foreach su una query di entità, farà ancora una sola query (per recuperare tutti i risultati), quindi eseguirà un'iterazione su di essi in memoria anziché tornare al database per ogni risultato? – Chris
@Chris sì, esattamente. – Christos
Grazie per l'intuizione, ma come si combina questa domanda che afferma il contrario? http://stackoverflow.com/questions/3575886/slow-foreach-on-a-linq-query-tolist-boosts-performance-immensely-why-is – Chris