ListaServicosProcessoのコードは、コンテキストデータベースを作成しています。次に、IQueryableを返します。
この時点では、データベースにリクエストは送信されていません。
次に、コードにそれぞれのがあります。この時点で、EFは「データベースからデータを取得する必要があります」と言います。そのため、データを取得しようとします。
しかし、コンテキストデータベースはスコープ外になっているため、データを使用しようとする最初の行でクラッシュします。
これを回避するには2つの方法があります:
- ListaServicosProcessoからリストを返します。これにより、データベース呼び出しが強制的に実行されます
- それぞれのをListaServicosProcessoに移動します
編集
Pharabusは正しいdbは範囲外ではありません。問題はここにあります:
db = new RENDBDataContext();
コンテキストの新しいインスタンスは、古いインスタンスを破棄せずに作成されています。 ListaServicosProcessoの最後にあるdbの破棄を試してください。さらに、dbをusingステートメントに配置することをお勧めします。ただし、foreachはusingステートメント内に移動する必要があります。