Невозможно преобразовать объект типа MvcMiniProfiler.Data.EFProfiledDbConnection к типу System.Data.SqlClient.SqlConnection.

Невозможно преобразовать объект типа 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 или что-то в этом роде?

7
задан Khalid Abuhakmeh 29 December 2011 в 16:48
поделиться