Come posso assicurarmi che le mie query LINQ vengano eseguite quando vengono chiamate nel mio DAL, non in modo ritardato?
-
06-07-2019 - |
Domanda
Ho un DAL composto da una serie di metodi che eseguono query LINQ sul mio database.
Come posso assicurarmi che prima di tornare dire un IEnumberable o qualcosa di simile dal database, mi assicuro che la query LINQ sia eseguita quindi , non in qualche modo ritardata per essere eseguita solo quando il risultato è utilizzato?
So di poter chiamare .ToList () sul mio risultato nei miei metodi per costringerlo ad eseguire, ma è questo il modo migliore?
Soluzione
Chiamata ToList
o ToArray
è davvero il modo migliore per costringerlo a eseguire e ottenere l'intera sequenza (vedere il commento di Randolpho di seguito per altri metodi che imporranno l'esecuzione per singoli elementi della sequenza).
C'è un motivo specifico per cui si desidera evitare l'esclusione differita?