Come posso assicurarmi che le mie query LINQ vengano eseguite quando vengono chiamate nel mio DAL, non in modo ritardato?

StackOverflow https://stackoverflow.com/questions/1013201

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?

È stato utile?

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?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top