1

需要一段時間(3分鐘+)'創建/編譯'我的DbContext。 Web服務器在大約5秒內啓動,但是當我對數據庫執行第一次查詢時,實體框架必須在內存中「建立/創建/編譯」數據庫或者其他東西,我想呢?接下來的請求幾乎是即時的。這是DbContext的數據庫優先創建,數據庫已經存在於MSSQL中並且有數據。 DbContext包含大約500個帶有關係的DbSet。預編譯(創建映射?)EF DbContext更快的調試

有沒有辦法通過在運行Web服務器之前執行我的實體框架的DbContext的創建(映射?)來加速它,創建它所需的文件/映射,所以第一個請求也很快?

EDIT1:

我已經嘗試了電動工具,但他們給我說的DbContext沒有構造函數可以使用一個錯誤,雖然它有一個正常的構造

public DbContext() : base() {} 

任何其他我可以嘗試的東西?

+0

您正在使用哪個版本的EF? – natemcmaster

+0

我正在使用Ef7 rc1 – AppSum

回答

0

實體框架文檔介紹瞭如何使用EF Power Tool here生成視圖。

一旦你在失速EF電動工具有你有:

  1. 在類右鍵單擊包含您.edmx文件
  2. 選擇「生成視圖」

這是你的DbContext或將生成包含預先計算的映射的類,該映射將在啓動時自動加載。如果更改數據庫並且不重新生成視圖,EF將拋出異常。

不管它是否適用於EF7,但是誰知道...

+0

這正是我問這個問題的原因,我正在使用EF7 RC1。在問這個問題之前,我已經閱讀過那部分文檔。另外,因爲我根據VS的許可在'企業'中工作,所以我使用VS Express,這意味着我無法安裝任何擴展... – AppSum

+0

然後,您聽起來像必須使用手動方法列在該頁面上,大概仍然有效?老實說,我懷疑有人爲這個問題提供了一個自定義的解決方案,當一個擴展存在絕大多數人:( –