Вы нашли решение для исключения «Невозможно определить имя поставщика ...»?
я есть проект asp.net, который использует mvc-mini-profiler. Я использовал версию 1.7 пакета NuGet и заметил, что есть обновленный пакет, версия которого 1.9. Я обновил пакет, и теперь мой код больше не компилируется. Код, который не компилируется:
public static T GetProfiledContext<T>() where T : System.Data.Objects.ObjectContext
{
var conn = GetStoreConnection<T>();
if (_enableProfiling)
{
conn = ProfiledDbConnection.Get(conn);
}
return ObjectContextUtils.CreateObjectContext<T>(conn);
}
Ошибки компиляции сообщают о следующих проблемах:
«MvcMiniProfiler.Data.ProfiledDbConnection» не содержит определения «Get».Имя ObjectContextUtils не существует в текущем контексте.Я заметил, что могу создать экземпляр ProfiledDbConnection и передать ему соединение и объект типа IDbProfiler, но я не уверен, как мне получить этот объект.
Что касается ObjectContextUtils, я понятия не имею, что я должен использовать.
Как я могу исправить эти проблемы?
Обновить:
Следуя рекомендациям @ monkeychatter, мне удалось создать код. Теперь я получаю следующее исключение:
После вызова метода get_ProviderFactory для экземпляра поставщика магазина типа «MvcMiniProfiler.Data.ProfiledDbConnection» возвращается нулевое значение. Поставщик магазина может работать неправильно.
Изучив ProfiledDbConnection в ILSpy, я заметил, что он больше не переопределяет DbProviderFactory. Это кажется причиной ошибки, так как базовая реализация возвращает ноль. Кто-нибудь был в состоянии обойти эту проблему?