查看EF4生成的查询?

时间:2010-11-09 17:24:51

标签: c# sql-server entity-framework-4

LINQ-to-SQL有几种方法,包括可视化器加载项,用于从IQueryable查看生成的SQL。

我无法找到Entity Framework 4的等价物。在StackOverflow上没有任何东西,没有博客。怎么做?

最好,我希望能够在代码中完成,而不必仅仅为了查看它而实际执行查询。

谢谢!

6 个答案:

答案 0 :(得分:5)

有几种方法可以查看sql。

  1. 在ObjectQuery上执行.ToTraceString(),它将显示为查询生成的sql。
  2. 下载由EF团队成员之一撰写的ef跟踪提供程序。 E F Tracing Provider
  3. Linq To Entities可视化工具,您可以下载here
  4. LinqPad
  5. Sqlserver profiler
  6. 商业

    1. Efprof.com

答案 1 :(得分:2)

如果您无法使用任何其他解决方案,则可以尝试使用SQL Server Profiler,如果您有权访问SQL计算机。

在SQL Server Management Studio中,您可以执行以下操作:

工具 - > SQL Server Profiler。

创建一个新的Trace并运行您的代码,您应该会看到查询。您可以创建一些过滤器,这样就不会看到您可能不关心的安全/审计内容。

答案 2 :(得分:2)

请在此处查看我的回答:Linq & String.ToLower() strange behavior

它允许将SQL转储到跟踪或任何你喜欢的位置。

答案 3 :(得分:1)

嗨,有这个visualizer ...但是我无法让它为我工作......你可以试试..我会建议你LINQPad来查看你可以设置你的查询如果连接并执行您的查询。

答案 4 :(得分:0)

您是否尝试过此操作:http://blog.cincura.net/227674-how-to-show-sql-command-created-by-entity-framework/

顺便说一句,这是Google的第一个结果。

答案 5 :(得分:0)

MSDN blog托管I used in an EF 3.5 project的示例跟踪提供程序。不知道它是否也适用于EF4。