我有一個由數據庫生成一個相當大的EDMX提高我的EDMX的性能,我一直在努力表現最近,以提高我的應用程序已經在各種各樣的地方有的在這裏讀了一些文章一些不我想通過使用AutoDetectChanges
變化http://msdn.microsoft.com/en-us/data/jj556205.aspx
這一項上刪除DbContext is very slow when adding and deleting
這一個提高性能(我認爲這是相當不錯的)http://www.codeproject.com/Articles/38922/Performance-and-the-Entity-Framework
的這一項上禁用自動檢測我已經使用myentities.tablename.MergeOption = MergeOption.NoTracking,我使用compiledqueries,我預先生成使用EdmGen我認爲,我已經減少了我獲取等方面的數據...,當然,我已經獲得了性能這樣一個54秒加載的頁面現在需要16.1秒 - 但是我必須把它加到3秒所以我仍然在尋找下一個改進
所以研究是一切都很好,結果我已經升級到了最新的EntityFramework,我已經從再生等分貝的.edmx我......並嘗試了各種東西,但我根本就不是爲了其設置爲false找到myEntities.Configuration.AutoDetectChangesEnabled。現在我必須錯過一個簡單的訣竅 - 我如何讓我的EDMX有這個選項。
我在這個environment.Net 4.0.3,Visual Studio 2010,最新版本的EntityFramework,MVC 4.0 ...我需要的是有人說「啊哈」你需要去做這個....
目前,如果我從我的大表(134million行)需要近10分鐘的SaveChanges之一刪除1000條記錄。所以從我讀的AutoDetectChangesEnabled是我需要改變但它不存在於我的類?我該怎麼做才能得到它?
任何幫助表示讚賞我試圖解決這一快速
問候朱利安
作爲額外的評論,我通過讓SQL使用級聯刪除外鍵,在舊的sql語句我這樣做時,它的表現不佳,但是在SQL 2008 R2級聯刪除是揭開謎底的下一部分做刪除改進了刪除我需要 –
這個跟進,解決方案的一部分是向上移動到EF 5.0,和一切的最新版本...這意味着大量的重構代碼的。然而,答案似乎與英孚,如果它的緩慢,你需要更新到最新......痛苦但最好的解決方案 –