MiniProfiler 兼容 Entity Framework 6
一直以来都是在用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监控到,并且不会报错了。
引用:
MiniProfiler 兼容 Entity Framework 6的更多相关文章
- 采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)
前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...
- 使用MiniProfiler给Asp.net MVC和Entity Framework号脉(附源码)
在学习python开发框架pylons/pyramid的过程中,里面有个非常棒的页面性能监控功能,这样在开发过程中,你能清楚的知道当前页面的性能以及其它参数. 这里介绍一下如何给Asp.net MVC ...
- 采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)(转)
前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...
- 在WebApi项目里使用MiniProfiler并且分析 Entity Framework Core
在WebApi项目里使用MiniProfiler并且分析 Entity Framework Core 一.安装配置MiniProfiler 在现有的ASP.NET Core MVC WebApi 项目 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (27) ------ 第五章 加载实体和导航属性之关联实体过滤、排序、执行聚合操作
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-9 关联实体过滤和排序 问题 你有一实体的实例,你想加载应用了过滤和排序的相关 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (28) ------ 第五章 加载实体和导航属性之测试实体是否加载与显式加载关联实体
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-11 测试实体引用或实体集合是否加载 问题 你想测试关联实体或实体集合是否已经 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (29) ------ 第五章 加载实体和导航属性之过滤预先加载的实体集合和修改外键关联
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-13 过滤预先加载的实体集合 问题 你想过滤预先加载的实体集合,另外,你想使用 ...
- Code First :使用Entity. Framework编程(6) ----转发 收藏
Chapter6 Controlling Database Location,Creation Process, and Seed Data 第6章 控制数据库位置,创建过程和种子数据 In prev ...
- Code First :使用Entity. Framework编程(7) ----转发 收藏
第7章 高级概念 The Code First modeling functionality that you have seen so far should be enough to get you ...
随机推荐
- java多线程-线程通信
线程通信的目标是使线程间能够互相发送信号.另一方面,线程通信使线程能够等待其他线程的信号. 通过共享对象通信 忙等待 wait(),notify()和 notifyAll() 丢失的信号 假唤醒 多线 ...
- css的四种隐藏方式
1.opacity:0只是把元素隐藏起来了 ,但是还是占有布局,所以还是对布局有影响 <div class="div1"> snda:opacity:0只是把元素隐藏起 ...
- Git是个好工具
Git是分布式版本控制系统,我们常用的版本控制工具还有SVN.这里就得区分下什么是分布式版本控制系统,什么是集中化的版本控制系统. 集中化的版本控制系统 集中化的版本控制系统( Centralized ...
- jQuery.clean()方法源码分析(一)
在jQuery 1.7.1中调用jQuery.clean()方法的地方有三处,第一次就是在我之前的随笔分析jQuery.buildFramgment()方法里面的,其实还是构造函数的一部分,在处理诸如 ...
- HTML <base> 标签 为页面上的所有链接规定默认地址或默认目标
定义和用法 <base> 标签为页面上的所有链接规定默认地址或默认目标. 通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白. 使用 <base& ...
- H5移动端页面设计心得分享
去年JDC出了不少优秀的武媚娘…不,H5呢,大家都很拼,同时当然也积累了一些经验和教训,今天结合咱们的实战案例,从字体,排版,动效,音效,适配性,想法这几个方面好好聊一聊关于H5的设计,希望对同学们有 ...
- SharePoint 2010 站点附加数据升级到SP2013
首先,去SharePoint 2010的数据库服务器上,找到站点的数据库,备份.还原到SharePoint 2013环境中: 如果不知道数据库服务器是哪台,可以通过服务器场上的服务器查看: 如果不知道 ...
- iOS之属性修饰符 retain、strong和copy区别测试
时不时会有点迷惑属性修饰符retain.strong.copy三者之间的区别,还是把测试过程记录下来好一点! 1.属性修饰符结论 2.给retain.strong.copy修饰的字符串属性赋值指针变化 ...
- 【Android】不依赖焦点和选中的TextView跑马灯【2】
前言 之前有写一篇TextView跑马灯的效果,后来实际项目中有发现新的问题,比如还是无法自动跑,文本超过了显示区域就截取的问题,今天换了一种思路来实现,更简单更好用. 声明 欢迎转载,但请保留文章原 ...
- symfony2 路由工作原理及配置
1.路由是程序的方法和URL的一一映射.