Невозможно преобразовать объект типа MvcMiniProfiler.Data.EFProfiledDbConnection в тип System.Data.SqlClient.SqlConnection.
Я пытаюсь перейти на MvcMiniProfiler 1.9.0 и получаю это, когда вызываю MiniProfilerEF.Initialize (). Я удалил раздел конфигурации system.data. Я не знаю, что делаю не так. Я выполнил действия, описанные на сайте, но, может быть, я что-то пропустил?
Я использую код EF first 4.1 и передаю имя своей строки подключения в конструктор для создания моего контекста данных.
Веб-активатор
using Project.Web.App_Start;
using WebActivator;
[assembly: PreApplicationStartMethod(typeof(MiniProfiler), "Start")]
namespace Project.Web.App_Start {
public class MiniProfiler {
public static void Start()
{
if (Eco.Environment.IsDevelopment) {
MiniProfilerEF.Initialize();
}
}
}
}
Реестр StructureMap:
using Project.Domain.Repositories;
using StructureMap.Configuration.DSL;
namespace Project.Web.DependencyResolution.Registries {
public class RepositoriesRegistry : Registry {
public RepositoriesRegistry() {
For<IProjectDataContext>().HybridHttpOrThreadLocalScoped().Use(() => new ProjectDataContext(Eco.Database.Name));
}
}
}
Конструктор DataContext:
public ProjectDataContext(string nameOrConnectionString)
: base(nameOrConnectionString) {
Active = new Active(this);
}
Я удалил провайдеры данных system.data из моей конфигурации, поскольку в документации сказано, что мне нужно только вызвать MiniProfilerEF.Initialize ().
** Обновление
Ранее в MvcMiniProfiler 1.7 мне приходилось устанавливать свойство Database.DefaultConnectionFactory, но я удалил его. Database.DefaultConnectionFactory всегда возвращается как SqlConnectionFactory, разве это не должно быть ProfiledConnectionFactory или что-то в этом роде?