我有幾個基於System.Entity.Data.DbContext的類。他們在Web應用程序的不同端使用了多次請求 - 實例化它們是否昂貴?每個請求緩存實體框架DbContexts
我在HttpContext.Current.Items中緩存了它們的副本,因爲它不適合每個請求擁有它們的多個副本,但是現在我發現它不會自動從HttpContext在請求結束時。在我開始編寫代碼來處理它(在Application_EndRequest中)之前,我認爲我會重新編寫這種情況,因爲如果我只是在需要的地方實例化它們,然後將它們放在那裏,那麼就沒有必要緩存它們。
在互聯網上已經問過類似這樣的問題,但我似乎無法找到完全解答我的問題的問題。對不起,如果我重複某人。
更新
我已經發現了上下文的配置可能不會在this博客文章沒關係,但我仍然有興趣聽他們是否在第一時間實例昂貴。基本上,有很多EF魔術在幕後進行,我想避免太頻繁地做這些事情?
另一個SO回答基本上回答了我的問題:[here](http://stackoverflow.com/questions/813457/instantiating-a-context-in-linq-to-entities)。爲了加快創建速度,儘管可以根據[this](http://stackoverflow.com/questions/2575485/managing-entityconnection-lifetime)問題使用緩存的EntityConnection(儘管它有用介意它不是線程安全的)。我還不能回答我自己的問題,所以我會等着看是否還有其他候選人。 – stewartml
可能重複[一個DbContext每個Web請求...爲什麼?](http://stackoverflow.com/questions/10585478/one-dbcontext-per-web-request-why) – Steven