【问题标题】:How can I log my SQL calls in Visual Studio 2013?如何在 Visual Studio 2013 中记录我的 SQL 调用?
【发布时间】:2015-07-14 22:09:00
【问题描述】:

我曾经让它工作得很好。我只需选择输出窗口,所有调用都会被记录并输出。但后来我重新安装了 VS 2013,现在我什么也没看到。

请注意,这是一个内置功能。不是我过去对调试调用或我的代码中的任何东西所做的事情。

我已经这样做了一年多了,只是无法弄清楚我选择了哪个选项来实现它。谁能记得如何做到这一点?

【问题讨论】:

  • @Samantha/Alan - 这些 SQL 调用是通过实体框架发送的,还是所有 SQL 调用(无论它们是如何发送的)?

标签: asp.net sql-server visual-studio-2013 asp.net-web-api


【解决方案1】:

从 EF 6.0 开始,您会这样做

using (var context = new BlogContext()) 
{ 
    context.Database.Log = Console.Write; 
    // Other code here... 
}

从这里:Logging and Intercepting Database Operations

【讨论】:

    【解决方案2】:

    对于 VS2013 Pro,我无法将查询输出到输出窗口,但您可以将其记录到查询结果的消息窗格中。你指的是这个吗?

    Tools >
       Options > 
           SQL Server Tools > 
               Transact-SQL-Editor > 
                   Query Results > 
                       Results to Grid
    

    勾选“在结果集中包含查询”

    【讨论】:

      【解决方案3】:

      您是在谈论 IntelliTrace 吗? 但是它仅在 VS Ultimate 版本中可用。见Intellitrace not available for VS 2012 Professional edition?

      【讨论】:

      • 不,我说的是我很久以来在输出窗口中出现的 SQL 调用。我正在使用 VS2013 Ultimate 顺便说一句
      • 通常输出窗口中的输出使用 Debug.Write 或 Debug.WriteLine 打印。确保您在调试模式下运行项目。
      • 有一种方法可以为您完成这项工作。只是不记得我使用了什么选项。永远不需要做任何 Debug.Write 或类似的事情。
      猜你喜欢
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多