Я использую entity framework 6, linq для запроса mysql. Я отслеживаю сгенерированную linq строку sql в окне отладки, как показано ниже:
INSERT INTO XXX(ID, Name, ...)
VALUES (:p0, :p1, :p2, NULL, NULL, NULL, NULL, NULL, :p3, :p4, :p5, :p6, :p7, NULL, :p8)
-- p0: 'ff641c20dac54f68a76ee7d30a8c39e1' (Type = String, IsNullable = false, Size = 32)
-- p1: 'M310000157' (Type = String, IsNullable = false, Size = 10)
-- p2: 'FY310000000201812000009' (Type = String, IsNullable = false, Size = 23)
...
Теперь я хочу отладить этот sql в каком-нибудь клиенте mysql, чтобы получить более подробную информацию, например, объяснить, как используется индекс. Но я не могу напрямую запустить трассировку sql.
Есть ли простой способ получить трассировку sql?





Любая команда, отправленная из EF в базу данных, регистрируется. Чтобы просмотреть сгенерированные запросы из EF 6.x, используйте свойство DBContext.Database.Log
Подробнее: https://docs.microsoft.com/en-us/ef/ef6/fundamentals/logging-and-interception