1

是否可以将 MiniProfiler 1.9 与 EntityFramework 以及 EFProviderWrapperToolkit 一起使用?我还使用数据库方法中的更新 edmx,而不是代码优先。

我已经安装了 EFProviderWrapperToolkit 并且工作得很好,它的缓存提供程序有很大的不同。但它似乎与 MiniProfiler 发生冲突:

protected void Application_BeginRequest()
{
    if (Request.IsLocal)
    {
        //MiniProfiler.Start();
        MiniProfilerEF.Initialize();
    }
}

这可能是因为 MiniProfiler 和 EFProviderWrapperToolkit 都试图包装数据库连接。

给出此错误消息:

无法将“MvcMiniProfiler.Data.EFProfiledDbConnection”类型的对象转换为“EFProviderWrapperToolkit.DbConnectionWrapper”类型。

第 229 行:DbProviderFactory 工厂 = DbProviderFactories.GetFactory(invariantName); 第 230 行:var connectionWrapper = factory.CreateConnection(); 第 231 行:DbConnectionWrapper 包装器 = (DbConnectionWrapper)connectionWrapper;第 232 行:wrapper.WrappedConnection = 连接;第 233 行:连接 = 连接包装器;

[InvalidCastException:无法将“MvcMiniProfiler.Data.EFProfiledDbConnection”类型的对象转换为“EFProviderWrapperToolkit.DbConnectionWrapper”类型。] EFProviderWrapperToolkit.DbConnectionWrapper.WrapConnection(DbConnection connection, String[] wrapperProviderInvariantNames) 在 C:\src\MyApp.2010\EF4ProviderWrappers \EFProviderWrapperToolkit\DbConnectionWrapper.cs:231 EFProviderWrapperToolkit.EntityConnectionWrapperUtils.CreateEntityConnectionWithWrappers(String entityConnectionString, EntityConnectionStringBuilder ecsb, String[] wrapperProviders) 在 C:\src\MyApp.2010\EF4ProviderWrappers\EFProviderWrapperToolkit\EntityConnectionWrapperUtils.cs:60 MyApp.Infrastructure.Repository。 C:\src\MyApp.2010\MyApp 中的 EF.ExtendedMyAppContext..ctor(String connectionString, EntityConnectionStringBuilder ecsb)。Infrastructure.Repository.EF\ExtendedMyAppContext.cs:19 MyApp.Infrastructure.Repository.EF.ObjectContextManager.GetObjectContext() 在 C:\src\MyApp.2010\MyApp.Infrastructure.Repository.EF\Repository.EF\ObjectContextManager.cs 中: 62 MyApp.Infrastructure.Repository.EF.GenericRepository1.get_ObjectContext() in C:\src\MyApp.2010\MyApp.Infrastructure.Repository.EF\Repository.EF\GenericRepository.cs:81 MyApp.Infrastructure.Repository.EF.GenericRepository1.get_ObjectSet() 在 C:\src\MyApp.2010\MyApp.Infrastructure.Repository.EF\Repository.EF\GenericRepository.cs:89 MyApp.Infrastructure.Repository.EF.GenericRepository`1.GetQuery() 在 C: \src\MyApp.2010\MyApp.Infrastructure.Repository.EF\Repository.EF\GenericRepository.cs:102

4

1 回答 1

1

如果不修改其中任何一个,答案是否定的,因为它们都替换了数据库提供程序,但这些替换不兼容。

于 2011-10-21T09:24:54.503 回答