Предварительная генерация представлений для EF Code First - PullRequest
3 голосов
/ 27 марта 2012

Наконец, после развертывания на новом сайте, созданном с использованием Entity Framework Code First и MySql, возникает одно неприятное раздражение, которое часто возникает при кэшировании метаданных представления. Похоже, это происходит гораздо чаще, чем пул приложений перерабатывается. (?)

Я полагаю, что для сайта с постоянным потоком трафика это может быть не замечено часто. Для нового сайта с редким трафиком создается ощущение, что каждый раз, когда я захожу на сайт, задерживается отрисовка первой страницы на 4-5 секунд.

Итак, я отследил следующие ссылки:

http://msdn.microsoft.com/en-us/library/bb896240.aspx

http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d

EF Power Tools CTP1 выглядел многообещающе, за исключением того, что он, похоже, не работает для EF 4.3 и не обновлялся месяцами. Также я не уверен, как этот инструмент будет вписываться в наш автоматизированный процесс сборки.

Методы OptimizeContext () или WriteEdmx (), используемые EF Power Tools, выдают эту ошибку

System.Reflection.TargetInvocationException: 
Exception has been thrown by the target of an invocation. --->    System.Data.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---> System.Data.SqlClient.SqlException: 
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Сначала я предположил, что это может быть связано с MySql, но несколько других в разделе «Вопросы и ответы по EF Power Tools» сообщают об этом.

Итак, вкратце, как мне сначала сгенерировать представления для кода EF 4.3, предпочтительно, так, чтобы это можно было вставить в процесс автоматической сборки?

Ответы [ 2 ]

1 голос
/ 18 июля 2012

Павел ответил на мой связанный вопрос:

Инициализация Entity Framework - МЕДЛЕННАЯ - что я могу сделать для ее быстрой загрузки?

, создав шаблоны T4:

http://blog.3d -logic.com / 2012/05/28 / entity-framework-code-first-and-pre-Generated-views /

, которые также не являются 'не идеален, но более полезен, чем все остальное, что я видел.

Затем вы можете сделать что-то вроде:

http://www.platinumbay.com/blogs/dotneticated/archive/2009/08/28/running-t4-templates-with-msbuild.aspx

, чтобы добавить его в процесс сборки, но он довольно медленный, и поэтому вы можете оставить его как (еще один) ручной шаг при обновлении модели EF.

Действительно, им нужно предупреждение, гласящее: НЕ ИСПОЛЬЗУЙТЕ EF WITH>500 столов, это становится все более раздражающим в использовании.

0 голосов
/ 15 октября 2012

Я столкнулся с той же ошибкой при запуске VS2010, EF v4.3.1 и Entity Framework Power Tools Beta 2. Для меня было решение запустить Visual Studio от имени администратора. (Для этого нужно щелкнуть правой кнопкой мыши значок и выбрать «Запуск от имени администратора» из контекстного меню.) В тот момент я смог использовать опцию «Создать представления» в EFPT.

...