0

是否可以在实体框架进行的每个数据库调用上设置断点?这将是一种非常简单的调试意外数据库调用来源的方法。

4

3 回答 3

1

这当然是可能的,因为有像Entity Framework ProfilerMiniProfiler这样的工具可以做到这一点。但是我认为为了快速调试目的而自己实现它并不是一件容易的事。

你不想重新发明轮子,所以我建议试试这两个工具。Entity Framework Profiler 甚至可以显示每个查询在代码中的位置,您甚至可以单击源点以跳转到 Visual Studio 中的该位置。

于 2013-03-13T14:13:52.650 回答
1

您可以尝试 Intellitrace - 使用 VS 2012 进行调试时,打开 Intellitrace 窗口(调试 -> Windows -> Intellitrace 事件)。在那里,您应该看到发送到数据库的所有查询。选择查询并单击“调用堆栈”。

于 2013-03-13T18:46:52.870 回答
0

最后,我包含了 MiniProfiler (StackExchange.Profiling) 源代码项目,并在ProfiledDbCommand构造函数中使用条件设置了一个断点command.CommandText != ""

也许还有更好的地方来设置断点,但这对我有用!:)

于 2013-03-15T16:16:06.033 回答