したがって、EFが最初のクエリを実行するとき、その場でクエリをコンパイルする必要があるようです。コンパイルされたクエリがキャッシュに常駐するようになったため、後続のクエリの呼び出しが高速になります。また、DBContextが出入りしても、コンパイルされたクエリはキャッシュに残っているようです。。(私が正しく理解している場合)
ただし、各クエリが最初に実行されるときに遅延が発生するのでしょうか、それとも、クエリが最初に実行されるときにすべてのクエリをEFコンパイル/キャッシュするのでしょうか。
また、プリコンパイルは単純な作業のようには見えません。
エンティティフレームワークに初めてクエリを実行すると、メモリ内のエンティティモデルが調べられ、そのモデルのデータベース表現で機能するSQLビューが生成されます。エンティティモデルが大きく複雑になるほど、時間がかかります。それをスピードアップする唯一の方法は、それらのビューを事前に生成することです。これは、IMO Entity Frameworkがビルド時にデフォルトで実行する必要があることですが、そうではありません。多分いつか。その間、あなたはそれを自分でしなければなりません。
詳細については、http://msdn.microsoft.com/en-us/data/hh949853を参照してください。
Entity Framework Power Toolsを使用すると、dbContext派生クラスファイルのコンテキストメニューからこれを実行できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加