Koden i ListaServicosProcesso skaber konteksten db. Så returnerer den en IQueryable.
På dette tidspunkt er der ikke sendt nogen anmodning til databasen.
Så er der en for hver i koden. På dette tidspunkt siger EF "Jeg skal hente dataene fra databasen". Så den forsøger at få dataene.
Men konteksten db er nu uden for scope, så den går ned på den første linje, der forsøger at bruge dataene.
Der er 2 måder at omgå dette på:
- retur en liste fra ListaServicosProcesso, dette vil tvinge databasekaldet til at udføre
- flytt for hver ind i ListaServicosProcesso
Rediger
Pharabus har ret db er ikke uden for rækkevidde. Problemet er her:
db = new RENDBDataContext();
En ny forekomst af konteksten oprettes uden at den gamle bortskaffes. Prøv Bortskaf db i slutningen af ListaServicosProcesso. Endnu bedre placere db i en brugererklæring. Men så skal foreachen flyttes inde i bruge-sætningen.