最初のクエリで、EFはモデルをコンパイルします。これほど大きなモデルの場合、これにはかなりの時間がかかる可能性があります。
3つの提案があります:http://www.fusonic.net/en/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/
要約:
- キャッシュされたdbモデルストアの使用
- コンパイル済みのビューを生成する
- n-genを使用して、事前にコンパイルされたバージョンのentityframeworkを生成し、ジッティングを回避します
また、ベンチマークを実行するときは、アプリケーションをリリースモードでコンパイルするようにします。
別の解決策は、DBContextの分割を検討することです。 400エンティティはたくさんあり、小さいチャンクで作業する方が良いはずです。試したことはありませんが、モデルを1つずつ作成できると思います。つまり、1回の読み込みに15秒かかることはありません。 JulieLermanによるこの投稿を参照してくださいhttps://msdn.microsoft.com/en-us/magazine/jj883952.aspx