EFProf Entity Framework Profile 工具

SQL Server Profiler用来跟踪应用程序发送到SQL Server中的SQL语句,用于检测性能,查找问题。Entity Framework 也有它的跟踪工具EFProf,用于跟踪Entity Framework发送到SQL Server中的SQL语句。

首先在代码中添加对程序集HibernatingRhinos.Profiler.Appender的引用,并添加如下方法

HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize();

再打开EFProf程序,即可看到基于Entity Framework的程序向SQL Server发送的SQL语句

image

 

执行计划 Query Plan

EFProf可以以图形化的方式查看SQL语句的执行计划,而不必去SQL Server中查看执行计划

image

 

查询执行 Query Execute

如果你想知道查询的结果,可以直接在EFProf中打开查询语句,执行查询。这一个特性能查找数据特别有用。

image 

 

获取Entity Framework生成的T-SQL语句

实体框架内建了机制来跟踪它生成的SQL语句,请参考下面的代码

using(var db = new SqlEntities()) 
{ 
        var Q = db.Sql.Select(cc => cc.id); 
        return ((ObjectQuery)Q).ToTraceString(); 
} 
这样可以输入实体框架生成的SQL语句。

 

如何截获Entity Framework的调用

Entity Framework的社区项目EFTraceingProvider,可提供对Entity Framework调用的跟踪。

posted @ 2013-07-26 09:34  信息化建设  阅读(6611)  评论(14编辑  收藏  举报