从LINQ到EF查询获取SQL字符串

时间:2012-10-02 14:48:25

标签: sql linq entity-framework entity-framework-4

从EF获取SQL查询的最有效方法是什么?我需要这个,所以我可以运行查询分析并找到它的执行计划。

我知道我可以将探查器挂钩到SQL服务器,但这一步很痛苦,对生产力的影响很大,几乎完全放弃了ORM。

是否有更好,更有效的方法来优化EF查询?

3 个答案:

答案 0 :(得分:4)

ToTraceString方法可以为您完成此操作。

答案 1 :(得分:3)

如果将IQueryable转换为ObjectQuery,则可以使用ToTraceString()方法查看SQL查询。

答案 2 :(得分:2)

  

是否有更好,更有效的方法来优化EF查询?

是,请购买EF ProfilerHuagati Profiler。或者使用EF Provider wrapper进行跟踪。

  

我知道我可以将探查器挂钩到SQL服务器,但这一步很痛苦   对生产力的巨大打击,几乎足以放弃ORM   共

Profiler只是故事的一半。还有数据库引擎优化顾问,如果你真的想要优化SQL查询,这些工具是主要的工具集 - 但优化你没有在你控制之下的SQL查询是非常困难的,有时是不可能的。