EFからストアドプロシージャを呼び出してレコードを削除し、すぐにクエリを呼び出して残りのレコードを取得します。そのクエリはエラーにEntity Frameworkエラー "シーケンスに要素がありません"、プロシージャからの削除ステートメントが実行されました
を投げされ、それに
Single()
を使用してシーケンスに要素
が含まれていません。しかし、私は、コードを停止して再起動する場合は、このエラーが発生した後、それだけで罰金レコードを示しています。だから私は、ストアドプロシージャが(それがコミットされている)レコードの削除を考えているEFのコンテキストを台無しにしています。
ストアドプロシージャの実行後にdbContext.SaveChanges()
を呼び出します。ストアドプロシージャから削除ステートメントを実行した後、EF DbContextでクエリに問題が発生するのはなぜですか?
sprocの行を削除したことをEFコンテキストがどのように知っていますか? – stuartd
そうです、それは質問です。それを修正するような新しい文脈を得ることなく、どうすれば修正できますか?現在のDBコンテキストなどを「リフレッシュ」することはできますか? – user441521
[エンティティフレームワークの更新コンテキスト?](http://stackoverflow.com/questions/20270599/entity-framework-refresh-context) – stuartd