查看EF4生成的查询?
LINQ-to-SQL有几种方法,包括可视化器加载项,用于从IQueryable查看生成的SQL。
我找不到Entity Framework 4的等价物。在StackOverflow上没有任何东西,没有博客。 怎么做?
我希望能够在代码中完成它而不必实际执行查询只是为了查看它。
谢谢!
有几种方法可以查看sql。
自由
- 在ObjectQuery上.ToTraceString()将显示为查询生成的sql。
- 下载由EF团队成员之一编写的ef跟踪提供程序。 E F追踪提供者
- Linq To Entities可视化工具,您可以在这里下载。
- LinqPad
- Sqlserver探查器
广告
- 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。