Как сначала настроить mvc-mini-profiler с кодом EF 4.2

#asp.net-mvc #entity-framework #c#-4.0 #mvc-mini-profiler

#asp.net-mvc #entity-framework #c #-4.0 #mvc-mini-profiler

Вопрос:

В обновлении 1 EF 4.1 была ошибка в отношении профилирования, которая теперь исправлена, и я пытаюсь сначала запустить профилирование с использованием MySQL с кодом EF 4.2.

Я попытался поместить

MiniProfilerEF.Инициализировать ();

в моем приложении запуск, но получено сообщение об ошибке

Не удается найти запрошенного поставщика данных .Net Framework. Возможно, он не установлен.

Комментарии:

1. Просто в качестве примечания, если вы берете код как есть, который проверяется в проекте MiniProfiler на Github, приведенный выше код работает нормально, поэтому не уверен, какая ошибка есть, поскольку она была исправлена и не отправлена в NuGet

Ответ №1:

http://code.google.com/p/mvc-mini-profiler/

Обновление EF 4.1 1

Обратите внимание, что обновление EF 4.1 1 (версия, которая в настоящее время находится на NuGet) имеет критическое изменение, которое выдает следующую ошибку при указании строки подключения:

The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)

MiniProfiler пытается решить эту проблему, определяя версию EntityFramework, с которой он работает. Если это не сработает (из-за исключений безопасности), принудительно примените взлом, заменив вызов Initialize() на:

MiniProfilerEF.Initialize_EF42(); // in Application_Start

Однако в настоящее время это не позволяет профилировать базы данных SqlCE или Oracle.

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

Если вы явно указываете строки подключения в своем web.config, используйте MiniProfilerEF.Initialize(); . Это не будет профилировать базы данных SqlCE или Oracle, если вы не указываете строки подключения (выводятся автоматически) и хотите поддержку SqlCE, используйте MiniProfilerEF.Initialize(false); . Обратите внимание, это должно быть временным решением, пока EF 4.2 не станет широко доступным.