2012-02-10 13 views
1

Entity Frameworkで実行される非常に複雑なクエリには、ほとんど50秒かかる非常に時間がかかる問題があります。クエリは、新しいObjectContextを作成するWebサービスへのアドホック呼び出しで実行され、クエリを実行して結果を返します。Entity Frameworkクエリのパフォーマンス

問題は、SQL Server ProfilerでT-SQLコードをトレースし、SQL Server Management Studioから実行しようとすると2秒かかるということです。

がデータベースに触れるごとのObjectContextについて、 マルコ

答えて

2

をありがとう、エンティティは、データベーススキーマの内部表現を構築するスタートアップ多くの作業を行います。これには長い時間がかかります(プロジェクトは約30秒です)、データベースに対して行われた最初のクエリを犠牲にしてロールバックされます。後続のプロセスは、プロセスが再開されるまで十分に高速です。それはあなたに当てはまりますか?

+0

しかし、新しいobjectcontextエンティティ・フレームワークがデータベース・スキーマを再作成すると宣言したらどうなるでしょうか?私はアプリケーションを再起動しないので、 – MaRuf

+0

"新しいObjectContext"はメタデータを再作成させません。しかし、IISがプロセスや何かを毎回殺している場合... 何が起こっているかを見るためには、いくつかのコードを投稿する必要があります。クライアントとサーバーの両方でクエリをどのように実行しているかを確認する必要があります。 –

+0

申し訳ありませんが、私は許可されていませんが、保護されているので、コードを投稿することはできませんが、クライアントはDAL層の新しいクラスを作成するサービスを呼び出します。 objectcontextは削除されますが、IISはプロセスを強制終了しません... – MaRuf

関連する問題