Как отследить запросы EF назад к исходному коду - PullRequest
0 голосов
/ 29 октября 2018

Я видел вопросы, подобные этому, более 3 лет назад, и я надеюсь, что с EF Core это можно решить.

Я получаю отчеты от нашей команды по базам данных о запросах, которые выполняются медленно в работе, но с системой нашего размера иногда бывает трудно отследить запрос до кода, который его вызвал. Есть ли способ передать что-то, что позволило бы нам связать сгенерированный EF запрос с кодом, который его создал?

1 Ответ

0 голосов
/ 29 октября 2018

В EF Core 2.2 появилась новая функция, которая называется Query Tags:

пример:

  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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...