如何在 Intellitrace 事件中跟踪异步数据库操作?

How to trace async database operations in Intellitrace Events?

我正在尝试查看我的应用程序使用 EntityFramework 执行的一些查询。 在我不是 async 的方法中,我可以正常看到查询:

   public List<Tool> GetTools()
   {
        return EntityContext.ToList();
   }

但如果是这样的话:

  public Task<List<Tool>> GetTools(int quantity)
  {
        return EntityContext.Take(quantity).ToListAsync();
  }

是否可以在 IntelliTrace 事件中获取 async 方法的查询?

IntelliTrace 当前不支持异步 ADO.NET 事件。请在此处为此功能投票:http://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/11356578-add-intellitrace-support-for-async-ado-net-events

使用 EF,您可以很容易地调试到输出 window 和命令行。这是我创建的快捷方式。

    public void EnableDebugging()
    {
        Database.Log = s =>
                       {
                           Console.Write(s);//windows apps
                           Debug.Write(s);//website apps
                       };
    }