查看Entity Framework生成的SQL语句

简介:

Entity Framework调试是个比较麻烦的事,因为目前它不支持把生成的SQL语句输出到日志或Debug,只能通过SQL Server Profiler来监视SQL执行,不是很方便。顺便提一句,这一点Hibernate就做得比较好。

实际项目上经常利用ObjectQuery的ToTraceString()方法来查看SQL,示例如下:

 
  1. using(var ctx = new TestDBEntities) 
  2.     var query = ctx.Clients.Where(c => c.Status == 1) 
  3.                 .OrderBy(c => c.ComputerName); 
  4.  
  5.     //调试输出SQL,注意query不能ToList(),否则就不是IQueryable了 
  6.     Debug.WriteLine((query as ObjectQuery).ToTraceString()); 
  7.  
  8.     //后续业务逻辑处理数据 
  9.     foreach(var client in query) 
  10.     { 
  11.         //...... 
  12.     } 

这样在调试时就能看到SQL了,同理可输出到日志文件。

 


     本文转自 BoyTNT 51CTO博客,原文链接:http://blog.51cto.com/boytnt/977417,如需转载请自行联系原作者


相关文章
|
SQL XML Oracle
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
372 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
SQL 程序员 开发工具
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
432 0
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
|
SQL 关系型数据库 MySQL
SQL语句优化方法
SQL语句优化方法
136 0
|
SQL 数据库 数据安全/隐私保护
使用SQL语句 查询电话号码 加密显示
使用SQL语句 查询电话号码 加密显示
180 0
使用SQL语句 查询电话号码 加密显示
|
SQL 存储 安全
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
|
SQL 存储 关系型数据库
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(2)
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(2)
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(2)
|
存储 SQL 缓存
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(1)
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(1)
数据库语句执行过程理解,存储引擎的学习,字符集的理解,加各种sql数据类型理解介绍加之SQL各种数据查询分析和题目专练(1)
|
SQL 关系型数据库 MySQL
SQL常用语句
SQL常用语句
110 0
SQL常用语句
|
SQL 关系型数据库 MySQL
一条SQL更新语句的执行过程
一条SQL更新语句的执行过程