是否可以在Entity Framework正在进行的每个数据库调用上设置断点?这是调试意外数据库调用来源的一种非常简单的方法。
答案 0 :(得分:1)
由于有Entity Framework Profiler和MiniProfiler等工具可以执行此操作,因此当然可以实现。但我不认为为了快速调试目的而自行实现它是非常简单的。
你不想重新发明轮子,所以我建议试试这两个工具。 Entity Framework Profiler甚至是shows you where in your code each query originated,你甚至可以点击原点来跳转到Visual Studio中的那个位置。
答案 1 :(得分:1)
您可以尝试使用Intellitrace - 使用VS 2012进行调试时,打开Intellitrace窗口(Debug - > Windows - > Intellitrace Events)。在那里你应该看到发送到数据库的所有查询。选择查询,然后单击“调用堆栈”。
答案 2 :(得分:0)
最后,我包含了MiniProfiler(StackExchange.Profiling)源代码项目,并在ProfiledDbCommand
构造函数中设置了一个条件为command.CommandText != ""
的断点。
也许甚至有更好的地方来设置断点,但这对我有用! :)