每次我需要從數據庫更新我的emdx時,更新嚮導都會花費大量的時間來完成這個任務,因爲當您點擊完成(完成更新)按鈕時,它會自動呈現爲沒有響應。更新嚮導沒有響應
我使用Visual Studio 2015和LocalDb SQL Server 2014.有人建議安裝Service Pack 1來解決該問題。我已經安裝了SP1的LocalDb,但它沒有幫助。我的VS2015的安裝也相當新穎。
我有最新的Entity Framework 6版本(來自nuget)。
每次我需要從數據庫更新我的emdx時,更新嚮導都會花費大量的時間來完成這個任務,因爲當您點擊完成(完成更新)按鈕時,它會自動呈現爲沒有響應。更新嚮導沒有響應
我使用Visual Studio 2015和LocalDb SQL Server 2014.有人建議安裝Service Pack 1來解決該問題。我已經安裝了SP1的LocalDb,但它沒有幫助。我的VS2015的安裝也相當新穎。
我有最新的Entity Framework 6版本(來自nuget)。
將數據庫的兼容性級別設置爲110已適用於我。
要檢查兼容性級別,運行此腳本:
select compatibility_level from sys.databases where name = '<YOUR_DB_NAME>'
要設置兼容級別,使用這個腳本:
alter database <YOUR_DB_NAME> set compatibility_level = 110
更改SQL Server兼容級別或跟蹤標誌9481沒有我的選擇。
我給EntityFramework Reverse POCO Generator試試。
https://visualstudiogallery.msdn.microsoft.com/ee4fcff9-0c4c-4179-afd9-7a2fb90f5838
這是一個可配置的通用模板T4和工作得很好至今。
它甚至具有用於跟蹤提到標誌
IncludeQueryTraceOn9481Flag =假一個選項; //如果SqlServer 2014凍結/需要很長時間才能保存該文件,請嘗試將其設置爲true(您還需要提升權限)。
諷刺的是它的工作速度快,即使標誌爲無效:) 好像他們正在使用的元數據不同的查詢比VS EF設計。
今天,我的同事和我離開了巫師,讓它更新了約10分鐘。雖然花了相當長的一段時間,但確實完成了。這對我們來說是最好的解決方案(現在),因爲我們無法在沒有適當權限的情況下設置我們數據庫的兼容級別。
是的,它的工作的對話框,而是在一個非常長的時間而改變。 – Santhos
@Santhos是的,它很刺激。前些日子我花了大約30分鐘更新一個大型模型。非常令人沮喪。 – sparkyShorts
運行在DB以下工作對我來說:
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION=ON
然後,在更新之後,設置回用:
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION=OFF
這是每this thread了在Github上的EF6回購。
應當指出的是,在該線程也上報工作下,雖然我沒有測試它,因爲前者的工作這麼好,我:
UPDATE STATISTICS sys.syscolpars
UPDATE STATISTICS sys.sysschobjs
UPDATE STATISTICS sys.syssingleobjrefs
UPDATE STATISTICS sys.sysiscols
他們還踢這回SQL服務器並在Microsoft Connect上開放了this issue。
這對我有用。請注意:接受的答案設置數據庫兼容性級別。我相信將其設置爲110會對傳統基數進行估計。在嘗試接受答案之前,我們需要更多的人測試這個答案。 –
我認爲'ALTER DATABASE'僅適用於SQL Server 2016.2014版不能識別該命令。它承認雖然這些更新但他們沒有幫助,巫師也有同樣的問題。對我有用的是改變兼容性級別。 – Andrew
很高興知道@安德魯!謝謝。 –
檢查您的web.config本地sql實例。不是遙遠的。
我仍然必須使用實體框架6.2.0與Microsoft SQL Server 2014 (SP2-GDR) (KB4019093) - 12.0.5207.0 (X64) Jul 3 2017 02:25:44 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600:) (Hypervisor)
做到這一點。這個世界如何還沒有解決?!
同樣在這裏使用Visual Studio 2015和SQL實服務器2014 – jens
@jens你設法解決這一問題? – Santhos
我們認爲這是由於SQL Server 2014中基數估計器的迴歸。我們之前在EF Tools中引入了一種解決方法,它將OPTION(QUERYTRACEON 9481)附加到我們所有的模式查詢中(請參見http://entityframework.codeplex。 com/workitem/2445瞭解更多細節),但不幸的是引入了功能性迴歸,例如如果用戶沒有足夠的數據庫權限,模式查詢就會失敗,所以我們不得不採取解決方法。 迴歸似乎是固定的,但最近我們有新的報告。我們正在跟進SQL Server。 – divega