查看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语句查询,实现一个参数 可查询多个字段。
520 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
5月前
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
76 0
|
5月前
|
SQL 存储 开发框架
【Entity Framework】你必须了解的之自定义SQL查询
【Entity Framework】你必须了解的之自定义SQL查询
91 0
|
SQL 存储 关系型数据库
MySQL的第一篇文章——了解数据库、简单的SQL语句
MySQL的第一篇文章——了解数据库、简单的SQL语句
|
SQL 程序员 开发工具
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
538 0
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
|
SQL 数据库 数据安全/隐私保护
使用SQL语句 查询电话号码 加密显示
使用SQL语句 查询电话号码 加密显示
335 0
使用SQL语句 查询电话号码 加密显示
|
SQL 存储 安全
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
|
SQL 关系型数据库 MySQL
SQL语句优化方法
SQL语句优化方法
170 0
|
2月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
下一篇
无影云桌面