Подтвердить что ты не робот

Мастер обновления не отвечает

Каждый раз, когда мне нужно обновлять emdx из базы данных, мастер обновлений занимает невероятное количество времени, чтобы сделать это, показывая себя как не реагирующий, как только вы нажмете кнопку завершения (как завершение обновления).

Я использую Visual Studio 2015 и LocalDb SQL Server 2014. Некоторые люди предложили установить пакет обновления 1 для решения проблемы. Я установил SP1 для LocalDb, но это не помогло. Моя установка VS2015 также довольно новая.

У меня есть последняя версия Entity Framework 6 (от nuget).

4b9b3361

Ответ 1

Настройка уровня совместимости базы данных на 110 сработала для меня.

Чтобы проверить уровень совместимости, запустите этот script:

select compatibility_level from sys.databases where name = '<YOUR_DB_NAME>'

Чтобы установить уровень совместимости, используйте этот script:

alter database <YOUR_DB_NAME> set compatibility_level = 110

Ответ 2

Для меня работала следующая работа над БД:

ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION=ON

Затем, после обновления, установите его, используя:

ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION=OFF

Это за этот поток в репозитории EF6 на Github.

Следует отметить, что в этом потоке также сообщается следующее: хотя я не тестировал его, потому что бывший работал так хорошо для меня:

UPDATE STATISTICS sys.syscolpars
UPDATE STATISTICS sys.sysschobjs
UPDATE STATISTICS sys.syssingleobjrefs
UPDATE STATISTICS sys.sysiscols

Они также отбросили это назад команде SQL Server и открыли эту проблему в Microsoft Connect.

Ответ 3

Сегодня мои коллеги и я оставили мастера в покое, и пусть он обновляется примерно на 10 минут. В то время как это заняло довольно много времени, оно действительно завершилось. Это лучшее решение для нас (пока), поскольку мы не можем установить уровень совместимости нашей БД без надлежащих разрешений.

Ответ 4

Изменение уровня совместимости SQL Server или фрейма трассировки 9481 для меня не является вариантом.

Я попробовал EntityFramework Reverse POCO Generator.

https://visualstudiogallery.msdn.microsoft.com/ee4fcff9-0c4c-4179-afd9-7a2fb90f5838

Это настраиваемый шаблон T4 и работает очень хорошо до сих пор.

У него даже есть опция для упомянутого флага трассировки

IncludeQueryTraceOn9481Flag = false;//Если SqlServer 2014 выглядит замороженным/занимает много времени, когда этот файл сохраняется, попробуйте установить его в true (вам также понадобятся повышенные привилегии).

По иронии судьбы, он работает быстро, даже если флаг выключен:) Похоже, что они используют разные запросы для метаданных по сравнению с VS EF Designer.

Ответ 5

Я еще должен был сделать это с помощью 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) с помощью Entity Framework 6.2.0. Как в мире это еще не решено?!

Ответ 6

Проверьте свой web.config для локального экземпляра sql. не удален.