我正在使用實體框架6.1.3的MVC 5應用程序。我試圖通過預先生成視圖來優化第一個通話,通常需要1-4秒。我明白爲什麼會發生這種情況,但我覺得我錯過了某個重要步驟。預生成實體框架的看法
我目前的測試運行相同的功能五次使用EF我的DB拉對象的集合。當我與 '嵌入在輸出目錄' 集我EDMX運行此我得到如下結果:
**
- 首先EF電話:2617毫秒
- 二EF電話:19毫秒
- 三EF電話:19毫秒
- 四EF電話:17毫秒
- 第五EF電話:20毫秒
**
我想到這一點,因爲EF正在生成本地視圖來訪問數據庫...
當我切換到「複製到輸出目錄」,仔細檢查我的文件被複制到bin文件夾和我的連接字符串已更新,然後運行相同的測試,我得到了類似的結果:
**
- 首先EF電話:2546毫秒
- 二EF電話:19毫秒
- 三EF電話:18毫秒
- 四EF電話:18毫秒
- 第五EF電話:21毫秒
**
沒有變化第一個電話,這很奇怪。我添加了EF Power Tools,右鍵單擊我的edmx => Entity Framework => Generate Views。一個'Model1.View.cs'文件是用每個表格/視圖的字符串創建的,所以我覺得我在正確的道路上。當我再次運行測試時,我得到了相同的結果。在新生成的'Model1.View.cs'文件的每個方法中放置一個斷點表明它不會被命中。
我失去了一個重要的步驟嗎?如何告知EF使用由EF Power Tools創建的文件,或者如何使「複製到輸出目錄」按我在線閱讀的方式工作?
謝謝帕維爾! –
我包含交互式預生成視圖和生成的本機圖像,我的第一次調用減少到458毫秒。你真棒。 –
嗨馬修,我正在一個ASP.NET MVC應用程序,我會測試你的解決方案。你在哪裏添加了Pawel的代碼?在Global.asax文件中?我在外部DLL中定義了數據庫上下文和edmx。提前致謝。 – jacktric