查看EF Core生成的SQL查询

8
有没有办法查看EF Core生成的SQL查询语句?(ASP .Net Core 1.1)

调试器或日志记录使用断点? - J. Doe
谢谢您的快速回复,很抱歉,我应该说得更明确一些... 如果可能的话,能加个断点调试器吗? - Fabricio Rodriguez
当然可以。你也可以使用logger(https://github.com/aspnet/EntityFramework/issues/5106)。 - J. Doe
请参考此答案:https://dev59.com/P3M_5IYBdhLWcg3wWRyV#44296793 - Rosdi Kasim
1个回答

4

这只是我的观点,但我认为最简单、最快速、最干净的解决方案是使用SQL Profiler

只需运行随 SSMS 一起提供的 SQL Profiler,启动跟踪,执行执行查询的操作,暂停跟踪并检查执行的确切查询。

它与您正在使用的 EF 版本无关。


19
本答案假设MSSQL是EF Core的唯一服务器。 - Natan
没错,它确实不是。但它绝对是与EF一起使用最常见的数据库引擎。更不用说,例如,官方的**MySql连接器在NETCore v1初始版本发布后仅3个月就作为预发布版可用**。NET Core和EF Core 2.0已经发布了两个多月,似乎还没有官方支持。当然还有其他数据库引擎,但EF Core并不是它们首选的ORM。 - João Pereira
2
@user743414 没错,但是有几种解决方法可以获得类似于Profiler显示的信息。我从未说过Profiler是唯一的选择,但在我看来,它是数据驱动应用程序可用的最佳选项。 您可以查看Christos Matskas的这篇文章,其中提供了两种可能的解决方案来继续对Azure SQL引擎进行分析。 - João Pereira

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接