Koden i ListaServicosProcesso skapar kontexten db. Sedan returnerar den en IQueryable.
För närvarande har ingen begäran skickats till databasen.
Sedan finns det en för varje i koden. Vid det här laget säger EF "Jag måste hämta data från databasen". Så den försöker få tag i data.
Men kontexten db är nu utanför räckvidden, så den kraschar, på den första raden som försöker använda data.
Det finns två sätt att komma runt detta:
- retur en lista från ListaServicosProcesso, detta tvingar databasanropet att köras
- flytta för varje till ListaServicosProcesso
Redigera
Pharabus har rätt db är inte utanför räckvidd. Problemet är här:
db = new RENDBDataContext();
En ny instans av sammanhanget skapas utan att den gamla tas bort. Försök Kasta db i slutet av ListaServicosProcesso. Ännu bättre placera db i ett användande uttalande. Men då måste foreachen flyttas in i using-satsen.