Мы используем newrelic для мониторинга производительности базы данных. Наши проблемы - это структура Entity, генерирующая SQL, и у нас возникают проблемы с отслеживанием, где этот SQL-запрос был сгенерирован в нашей базе кода, напримерEntity framework добавление Пользовательский метод
Допустим, что приведенный ниже запрос вызывает проблемы с производительностью. Как я могу изменить сгенерированный SQL запрос и добавить свой комментарий на нем, например
SELECT
? AS [C1],
[GroupBy1].[K1] AS [Destination],
[GroupBy1].[A1] AS [C2]
FROM (SELECT
[Extent1].[Destination] AS [K1],
SUM([Extent1].[SearchCount]) AS [A1]
FROM [Flight].[Item] AS [Extent1]
WHERE ([Extent1].[Origin] IN (?, ?)) AND (NOT ((@p__linq__0 = ?) AND ([Extent1].[IsDomesticTurkish] = ?))) AND ([Extent1].[DestinationCity] IN (?, ?, ?, ?, ?, ?, ?, ?)) AND ([Extent1].[DestinationCity] IS NOT NULL)
GROUP BY [Extent1...More…
Так как я могу сделать что-то вроде этого вар DbContext.MyDbSet.Where (myWhereEx) .AddCustomComment ("Привет, это обычай комментарии я буду писать от моего кода ")
После этого выход будет как этот
SELECT
? AS [C1],
[GroupBy1].[K1] AS [Destination],
[GroupBy1].[A1] AS [C2]
FROM (SELECT
[Extent1].[Destination] AS [K1],
SUM([Extent1].[SearchCount]) AS [A1]
FROM [Flight].[Item] AS [Extent1]
WHERE ([Extent1].[Origin] IN (?, ?)) AND (NOT ((@p__linq__0 = ?) AND ([Extent1].[IsDomesticTurkish] = ?))) AND ([Extent1].[DestinationCity] IN (?, ?, ?, ?, ?, ?, ?, ?)) AND ([Extent1].[DestinationCity] IS NOT NULL)
GROUP BY [Extent1...More…
--Hello this is a custom comment I will write it from my code
Мой вопрос состоит в том, как реализовать AddCustomComment и внутри AddCustomComment изменить сгенерированный SQL, прежде чем он идет к SQL серверу
Благодарим Вас за help – mhdbaz
Любая помощь ab получить решение выше в Entity Framework Core? – mhdbaz
К сожалению, я мало знаю о ядре EF, потому что на данный момент он находится в слишком сыром состоянии и у меня не хватает многих функций. Например, ему все еще не хватает DbInterceptor, поэтому вы не можете реализовать это точное решение, как есть. Однако, возможно, это позволяет предоставить некоторые другие крючки, о которых я не знаю. – Evk