MiniProfiler 兼容 Entity Framework 6

简介: 一直以来都是在用MiniProfiler配合ASP.NET MVC做请求的监控。 在某项目升级Entity Framework 6之后,在执行查询时报错误: --------------无法将类型为“StackExchange.Profiling.Data.EFProfiledDbConnection”的对象强制转换为类型“System.Data.SqlClient.SqlConnection”。

一直以来都是在用MiniProfiler配合ASP.NET MVC做请求的监控。

在某项目升级Entity Framework 6之后,在执行查询时报错误:


--------------无法将类型为“StackExchange.Profiling.Data.EFProfiledDbConnection”的对象强制转换为类型“System.Data.SqlClient.SqlConnection”。----------

 

显然是新版本的EntityFramework中增加了EntityFramework.SqlServer所以导致此错误的发生。

暂时MiniProfiler还没有发布新的版本,所以以上问题可以使用以下方法解决

1.下载MiniProfiler的对EF6支持的EFProfiledSqlClientDbProviderServices

下载地址:https://github.com/SamSaffron/MiniProfiler

2.下载后用NuGet将项目的EntityFramework升级至6.0版本,编译后将StackExchange.Profiling.EntityFramework6生成的DLL加入ASP.NET MVC网站的引用

3.原MiniProfiler初始化的代码为

MiniProfilerEF.Initialize();

可修改为

            MiniProfilerEF.Initialize();
            System.Data.Entity.DbConfiguration.Loaded +=
                (sender, e) =>
                e.ReplaceService<System.Data.Entity.Core.Common.DbProviderServices>(
                    (services, o) => EFProfiledSqlClientDbProviderServices.Instance
                    );

这时再运行程序,EF6的SQL就可以被MiniProfiler监控到,并且不会报错了。

 

 

引用:

http://www.davepaquette.com/archive/2013/09/01/running-miniprofiler-ef-with-entity-framework-6-rc1.aspx

 

目录
打赏
0
0
0
0
1
分享
相关文章
Entity Framework学习笔记——edmx文件
上文简单介绍了一下Entity FrameWork,这里说一下EF的核心——edmx文件。 在VisualStudio中建立edmx文件(此例环境为VisualStudio2012)
Entity Framework学习笔记——edmx文件
Entity Framework 数据访问浅谈
在现代软件开发中,数据库操作至关重要。Entity Framework (EF) 作为 .NET 平台上的优秀 ORM 框架,简化了数据库交互。本文介绍 EF 的基本用法,包括安装、配置 `DbContext`、CRUD 操作等,并探讨常见问题及其解决方案,如性能优化、错误处理及设计模式的应用,帮助开发者更高效地使用 EF。
83 6
Entity Framework Core介绍(1)
介绍 Entity Framework (EF) Core 是轻量化、可扩展和跨平台版的常用 Entity Framework 数据访问技术。 EF Core 可用作对象关系映射程序 (O/RM),以便于 .NET 开发人员能够使用 .NET 对象来处理数据库,这样就不必经常编写大部分数据访问代码了。
1055 0
Entity Framework 迁移
Entity Framework 迁移
136 0
Entity Framework Core 2.0 入门
该文章比较基础, 不多说废话了, 直接切入正题. 该文分以下几点: 创建Model和数据库 使用Model与数据库交互 查询和保存关联数据 EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle.
1708 0
Entity Framework Core 入门(2)
安装 EF Core 将 EF Core 添加到不同平台和常用 IDE 中的应用程序的所需步骤汇总。 分步入门教程 无需具备 Entity Framework Core 或任何特定 IDE 的原有知识,即可学习这些入门教程。
1175 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等