Невозможно привести объект типа MvcMiniProfiler.Data.EFProfiledDbConnection к типу System.Data.SqlClient.SqlConnection.
Я пытаюсь перейти на MvcMiniProfiler 1.9.0, и я продолжаю получать это, когда вызываю MiniProfilerEF.Initialize(). Я удалил раздел конфигурации system.data. Я не знаю, что я делаю неправильно. Я следил за шагами на сайте, но, может быть, я что-то пропустил?
Сначала я использую код EF 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));
}
}
}
Конструктор контекста данных:
public ProjectDataContext(string nameOrConnectionString)
: base(nameOrConnectionString) {
Active = new Active(this);
}
Я удалил поставщики данных system.data из моей конфигурации, поскольку в документации сказано, что мне нужно только вызвать MiniProfilerEF.Initialize().
**Обновлять
Ранее в версии 1.7 MvcMiniProfiler мне приходилось устанавливать свойство Database.DefaultConnectionFactory, но я удалил его. Database.DefaultConnectionFactory всегда возвращается как SqlConnectionFactory, разве это не должно быть ProfiledConnectionFactory или что-то в этом роде?