Wat*_* v2 5 c# sql-server entity-framework sql-server-2005 entity-framework-4
当我发布更新查询或其他更改数据库中的数据的数据操作语言(DML)查询时,使用Entity Framework 4,如何查看发送到SQL Server的查询?
假设我做了类似的事情:
someEntityObjectInstance.SomeProperty = newValue;
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
在这种情况下,没有ObjectQuery来执行ToTraceString(),所以我无法真正看到幕后发生了什么.我相信有一些Microsoft SQL Server工具,比如探查器或者可以帮助我查看查询的东西.
另外,我认为VS 2010 Ultimate中的一些Intellitrace会做同样的事情吗?
你能告诉我如何使用SQL 2005 Profiler,如果有这样的事情吗?
更新
我正在查看SQL Server 2005 Profiler中的跟踪,但是当我发出context.DeleteObject()调用或更新对象并调用时context.SaveChanges(),我在Profiler中看不到UPDATE或DELETE查询.我只看到奇怪的SELECT查询.
有更简单的方法,如果你想要的是在他们点击数据库时看到sql查询.
这里有两个非常轻量级的Sql剖析器,可以完成各种SqlServer风格的工作,包括LocalDb - " 在我的机器上工作(TM) "
到目前为止,最简单易用的(也是最简单的 - 显示我的SQL语句 - kthxbye)是CodePlex上的ExpressProfiler.
下载小ZIP,想知道你是否真的得到了整个文件(你做过),在里面运行EXE,BAM!

整个程序是单个126 KB EXE!现在那很轻巧!
另一个是来自DataWizard的那个,曾经是免费的(显然价格现在从5美元开始).
当它是开源的时候,有人设法在GitHub(包括xcopy可安装的二进制文件)上保存快照.
可执行文件将自身表示为"AnjLab Sql Profiler"并允许对显示的事件进行一些过滤 - 但这种优势也是它的弱点,因为有太多的事件类型可以启用/禁用.如果选择了所有内容,则输出结果非常冗长.
仅通过选择特定事件就可以获得更好的输出.

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

| 归档时间: |
|
| 查看次数: |
20287 次 |
| 最近记录: |