QA@IT

Entity Framework 初回起動の遅さについて

8754 PV

Entity Frameworkを利用してDBからデータを取得する際、初回だけ遅いのですが
これは仕様なのでしょうか?

例えば、FormのLoadイベントで以下の様なコードを実行すると、2行目の変数dataにデータを
取得するところで数秒かかります。

            Using context As New TestDBEntities
                Dim data = From a In context.Table1
                             Where a.ID = 100
                             Select a
            End Using

しかし、フォームを閉じて再度開くときは、ほぼ待ち時間なしで実行されます。

対象のテーブルのレコードは1000件程度で、カラムは10個程度です。
負荷がかかるとは思えませんし、その直後にもっとデータ量の多いテーブルから
データを取得する時は待ち時間はほとんどありません。

操作に支障をきたすほどではないにしろ、明らかに体感速度が異なるため気になっています。
何か考慮しなければいけないことがあるのでしょうか?

環境は以下になります。
Visual Studio 2013 Professional
.Net Framework 4.0
Entity Framework 6.0
SQL Server 2012 Express

よろしくお願い致します。

回答

こんな記事がありました。

【Entity Framework 6に起動時間とエンティティ実体化の問題】
http://www.infoq.com/jp/news/2013/11/ef-6-performance-issues

内容通りだとすると、Entity Frameworkをアップデートしたら改善されるかも?

編集 履歴 (0)
  • よく調べたら、元から6.1.1でした申し訳ございません。
    一応アップデートして6.1.3になりましたが、変化はありませんでした。
    情報元の日付が2013/11なので、改善してこれくらいなのかな?という気もしています。
    でも情報のご提供ありがとうございます。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。