【问题标题】:Debug breakpoint when EF executes SQLEF执行SQL时调试断点
【发布时间】:2015-02-25 15:13:53
【问题描述】:

当使用 SQL Server Profiler 跟踪实体框架正在执行的 SQL 查询时,我看到一些不应该执行的查询,我无法确定代码的哪一部分是原因!

在 Visual Studio Professional 2012 中,有没有办法将调试器设置为在执行任何 SQL 查询时中断,以便我可以看到调用堆栈?

【问题讨论】:

    标签: .net entity-framework visual-studio-2012 entity-framework-6


    【解决方案1】:

    如果您愿意(并允许)更改上下文:可以。你可以把它放在上下文的构造函数中:

    #if DEBUG
    
        this.Database.Log = s =>
            {
                Debug.WriteLine(s);
            };
    
    #endif
    

    现在您可以在Debug.WriteLine(s); 上设置断点,并在命中时检查堆栈跟踪。

    您可以使断点有条件以仅查看查询,例如通过将s.Contains("[") 置于中断条件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-01
      • 2018-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多