在 ASP.NET 中输出 EF Core 生成的 SQL 语句
方法一:
在 DbContext.cs 文件中找到 OnConfiguring 方法,添加代码:
#if DEBUG
optionsBuilder.EnableSensitiveDataLogging();
optionsBuilder.LogTo(Console.WriteLine); // 输出日志到控制台
//optionsBuilder.LogTo(message => Debug.WriteLine(message)); // 输出日志到“输出”窗口
#endif
搞定。
若原来是 => 形式的,改为 { } 形式写法即可。
方法二:使用 Logging
打开 DbContext 文件,添加
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Debug;
将
optionsBuilder.UseMySql
替换为
optionsBuilder.UseLoggerFactory(MyLoggerFactory).UseMySql
添加方法
public static readonly LoggerFactory MyLoggerFactory = new LoggerFactory(new[] {
new DebugLoggerProvider()
});
即可在“输出”窗口看到生成的 SQL 语句了。
可能相关的内容