查看EF4生成的查询?

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

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

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

谢谢!

有几种方法可以查看sql。

自由

  1. 在ObjectQuery上.ToTraceString()将显示为查询生成的sql。
  2. 下载由EF团队成员之一编写的ef跟踪提供程序。 E F追踪提供者
  3. Linq To Entities可视化工具,您可以在这里下载。
  4. LinqPad
  5. Sqlserver探查器

广告

  1. Efprof.com

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

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

工具 – > SQL Server Profiler。

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

在这里看到我的答案: Linq&String.ToLower()奇怪的行为

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

嗨,有这个可视化器 …但我无法让它为我工作…你可以尝试..我会建议LINQPad查看您的查询,您可以设置您的ef连接和执行您的查询。

你试过这个: http : //blog.cincura.net/227674-how-to-show-sql-command-created-by-entity-framework/

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

MSDN博客托管了我在EF 3.5项目中使用的示例跟踪提供程序。 不知道它是否也适用于EF4。