如何执行实体框架跟踪sql



我使用实体框架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)
...

现在我想在一些mysql客户端中调试这个sql,以获得更多细节,比如解释索引是如何使用的。但是我不能直接运行跟踪sql。

有什么简单的方法可以执行跟踪sql吗?

记录从EF发送到数据库的任何命令。要查看EF 6.x生成的查询,请使用DBContext.Database.Log属性

更多信息:https://learn.microsoft.com/en-us/ef/ef6/fundamentals/logging-and-interception

最新更新