C# 如何在SQL分析器中查看SQL查询?

C# 如何在SQL分析器中查看SQL查询?,c#,sql-server,sql-server-2005,entity-framework,entity-framework-4,C#,Sql Server,Sql Server 2005,Entity Framework,Entity Framework 4,当我使用EntityFramework4发出更新查询或其他数据操作语言(DML)查询来更改数据库中的数据时,我如何查看发送到SQL Server的查询 比如说,我做了如下事情: someEntityObjectInstance.SomeProperty = newValue; context.SaveChanges(); 在本例中,没有ObjectQuery可以对其执行ToTraceString()操作,因此我无法真正看到封面下发生了什么。我相信有一些Microsoft SQL Server工

当我使用EntityFramework4发出更新查询或其他数据操作语言(DML)查询来更改数据库中的数据时,我如何查看发送到SQL Server的查询

比如说,我做了如下事情:

someEntityObjectInstance.SomeProperty = newValue;
context.SaveChanges();
在本例中,没有ObjectQuery可以对其执行ToTraceString()操作,因此我无法真正看到封面下发生了什么。我相信有一些Microsoft SQL Server工具,如分析器或其他工具,可以帮助我查看查询

另外,我认为VS2010 Ultimate中的一些Intellitrace也做了同样的事情

如果有这样的东西,你能教我如何使用SQL2005分析器吗

更新


我现在正在SQL Server 2005探查器中查看跟踪,但当我发出
context.DeleteObject()
调用或更新对象并调用
context.SaveChanges()
时,我在探查器中看不到更新或删除查询。我只看到wierd SELECT查询。

您回答了它,sql server工具称为探查器

编辑:


如果您只想在sql查询到达数据库时看到它们,那么还有更简单的方法

这里有两个非常轻量级的Sql分析器,可以为各种SqlServer风格(包括LocalDb)“在我的机器上工作(TM)”

ExpressProfiler 到目前为止,最容易使用的一个(也是最简单的SQL语句kthxbye)是

下载tiny ZIP,想知道你是否真的得到了整个文件(你做到了),在里面运行EXE,砰

整个程序是一个126 KB的EXE!现在它很轻了

AnjLab Sql分析器 另一个是来自的,以前是免费的(显然现在的价格是5美元)

当它是开源的时候,有人设法保存了一个(包括xcopy可安装的二进制文件)

可执行文件以“AnjLab Sql Profiler”的形式出现,并允许对显示的事件进行一些过滤——但这一优点也是它的缺点,因为有太多的事件类型可以启用/禁用。如果选择了所有内容,则输出将极其冗长

只需选择特定的事件,即可获得更合理的输出

以下是我为获得上述输出而选择的事件:


我现在正在SQL Server 2005探查器中查看跟踪,但当我发出context.DeleteObject()调用或更新对象并调用context.SaveChanges()时,在探查器中看不到更新或删除查询。我只看到wierd SELECT querys.EF运行带有“exec sp_executesql”的update语句,因此您不仅需要跟踪TSQL语句,还需要跟踪sp,以便在profiler@e-mre我想知道“EF”在这里是什么意思,我很想看到一些更新、插入和删除语句。我可以看到“select”语句,但不能看到“update、insert”和“delete”语句。EF不是以直接sql命令的形式运行某些语句,而是通过sp_executesql运行。要使所有这些都显示在探查器中,您可能需要在启动探查器会话时更改默认设置。@e-mre查看EF profiling上的选项,我找不到mssql server profiler中所述的任何内容,解释EF使用的不同pro文件管理器,但不是
mssql server profiler
我是否应该假设通过mssql server profiler无法跟踪EF的任何活动?伙计,你是我的英雄,expressprofiler就是炸弹!超轻的重量和工作就像一个魅力,没有草率,nothing@WtFudgE很高兴您喜欢它:)ExpressProfiler现在似乎是源代码专用的,并且已经被迁移到它上面,编译后没有问题,而且似乎可以工作,尽管我仍然没有在它的显示中找到更新查询语法。