如何将EF查询跟踪回源代码

时间:2018-10-29 18:45:20

标签: .net sql-server entity-framework

我在3年前就看到了类似的问题,现在我希望现在有了EF Core,可以解决这个问题。

我从数据库团队那里获得了有关生产运行缓慢的查询的报告,但是由于我们的系统规模如此之大,有时很难将查询追溯到引起查询的代码。有什么方法可以让我们将EF生成的查询与创建它的代码相关联吗?

1 个答案:

答案 0 :(得分:2)

EF Core 2.2中有一项名为“查询标签”的新功能:

示例:

  var nearestFriends =
      (from f in context.Friends.TagWith(@"This is my spatial query!")
      orderby f.Location.Distance(myLocation) descending
      select f).Take(5).ToList();

这将生成以下SQL输出:

-- This is my spatial query!

SELECT TOP(@__p_1) [f].[Name], [f].[Location]
FROM [Friends] AS [f]
ORDER BY [f].[Location].STDistance(@__myLocation_0) DESC

https://blogs.msdn.microsoft.com/dotnet/2018/10/17/announcing-entity-framework-core-2-2-preview-3/