Ошибка «Невозможно определить имя поставщика» с mvc-mini-profiler 1.9 - PullRequest
4 голосов
/ 02 сентября 2011

Я использую сущностный фреймворк с mvc-mini-profiler. После обновления mvc-mini-profiler 1.7 до версии 1.9 и решения некоторых проблем мне удалось скомпилировать мой проект. Теперь я получаю следующее исключение времени выполнения:

Невозможно определить имя поставщика для подключения типа 'MvcMiniProfiler.Data.EFProfiledDbConnection'

Я думаю, что проблема может быть связана с настроенными фабриками провайдеров БД, потому что у меня была та же проблема с версией 1.7, и я решил ее, добавив в свой файл .config следующее:

<DbProviderFactories>
    <remove invariant="MvcMiniProfiler.Data.ProfiledDbProvider" />
    <add name="MvcMiniProfiler.Data.ProfiledDbProvider" 
         invariant="MvcMiniProfiler.Data.ProfiledDbProvider" 
         description="MvcMiniProfiler.Data.ProfiledDbProvider" 
         type="MvcMiniProfiler.Data.ProfiledDbProviderFactory, MvcMiniProfiler, Version=1.7.0.0, Culture=neutral, PublicKeyToken=b44f9351044011a3" />
</DbProviderFactories>

Теперь я попытался заменить вышеприведенное на следующее, но все равно получаю ошибку:

<DbProviderFactories>
    <remove invariant="MvcMiniProfiler.Data.ProfiledDbProvider" />
    <add name="MvcMiniProfiler.Data.ProfiledDbProvider" 
         invariant="MvcMiniProfiler.Data.ProfiledDbProvider" 
         description="MvcMiniProfiler.Data.ProfiledDbProvider" 
         type="MvcMiniProfiler.Data.EFProfiledDbProviderFactory`1, MvcMiniProfiler.EntityFramework, Version=1.9.1.0, Culture=neutral, PublicKeyToken=b44f9351044011a3" />
</DbProviderFactories>

Какая правильная конфигурация для решения этой проблемы?

1 Ответ

4 голосов
/ 02 сентября 2011

Вы пытались удалить DbProviderFactories из вашего .config?

У вас там есть инициализация?

protected void Application_Start()
{
    ....other code

    MiniProfilerEF.Initialize();
}

С 1.9 я просто добавил Initialize in Start и удалилраздел конфигурации, и теперь у меня есть SQL профилирование с EF.

...