sql >> データベース >  >> RDS >> Sqlserver

おそらくいくつかのコードが間違って行われたために、迷惑なSQL例外が発生します

    ListaServicosProcessoのコードは、コンテキストデータベースを作成しています。次に、IQueryableを返します。

    この時点では、データベースにリクエストは送信されていません。

    次に、コードにそれぞれのがあります。この時点で、EFは「データベースからデータを取得する必要があります」と言います。そのため、データを取得しようとします。

    しかし、コンテキストデータベースはスコープ外になっているため、データを使用しようとする最初の行でクラッシュします。

    これを回避するには2つの方法があります:

    • ListaServicosProcessoからリストを返します。これにより、データベース呼び出しが強制的に実行されます
    • それぞれのをListaServicosProcessoに移動します

    編集

    Pharabusは正しいdbは範囲外ではありません。問題はここにあります:

     db = new RENDBDataContext();
    

    コンテキストの新しいインスタンスは、古いインスタンスを破棄せずに作成されています。 ListaServicosProcessoの最後にあるdbの破棄を試してください。さらに、dbをusingステートメントに配置することをお勧めします。ただし、foreachはusingステートメント内に移動する必要があります。



    1. リモート接続MysqlUbuntu

    2. SQLデータベースを更新しない

    3. シーケンスに基づいて結果をグループ化するためのSQLクエリ

    4. ディレクトリ/階層/ツリー構造をデータベースに保存する方法は?