如何在运行时调试EF5生成的SQL? [英] How can I debug the SQL generated by EF5 during runtime?

查看:52
本文介绍了如何在运行时调试EF5生成的SQL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,对于EntityFramework来说我还很陌生,实际上现在还处于POC阶段,我要回答的问题之一是如何通过调试器或其他可附加过程的工具可视化EF生成的查询?

我要解决的情况是尝试调试QA或生产问题时,开发人员需要能够通过远程调试器附加到流程,并且需要可视化EF创建的查询以查看是否以最有效的方式进行构图.

在开发过程中也可以这样说,我需要能够可视化EF所做的查询.

解决方案

您可以:

  1. 使用Sql Server Management Studio查询分析器查看去往数据库的流量(可能是侵入性最小的)
  2. 将VS附加到您的进程并使用IntelliTrace是应该显示发送到数据库的命令
  3. 尝试使用EF跟踪提供程序( http://code.msdn.microsoft.com/EFProviderWrappers)
  4. 对于查询,调试时可以对ObjectQuery对象执行.ToTraceString(),对DbQuery对象执行.ToString().

编辑

EF6包含一项新功能,可让您 解决方案

You can either:

  1. Use Sql Server Management Studio Query Analyzer to see the traffic that goes to the database (probably the least invasive)
  2. Attach VS to your process and use IntelliTrace is should show commands sent to the database
  3. Try using EF Tracing provider (http://code.msdn.microsoft.com/EFProviderWrappers)
  4. For queries you can do .ToTraceString() on ObjectQuery object and .ToString() on DbQuery object when debugging.

EDIT

EF6 contains a new feature that allows you log the traffic to the database

这篇关于如何在运行时调试EF5生成的SQL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆