.net core 已经集成的各类日志功能,使用efcore时,只须要按状况引入相应的包便可,若是你用的是.net core调试,那么能够引入 Microsoft.Extensions.Logging 这类包中的Microsoft.Extensions.Logging.Console 包,如果想在调试窗口看到ef core 执行的语句,能够 换成 Microsoft.Extensions.Logging.Debug,不过通常来说,由于使用的是.net core,在控制台上输出更有意义,能够在运行时做诊断,要显示ef core执行的语句须要下面的步骤:
微软的做法:
1.在dbcontext类上面添加静态方法:sql
//输出到debug输出 public static readonly LoggerFactory LoggerFactory = new LoggerFactory(new[] { new DebugLoggerProvider((_, __) => true) }); // 输出到Console public static readonly LoggerFactory LoggerFactory = new LoggerFactory(new[] { new ConsoleLoggerProvider((_, __) => true,true) });
2.而后再添加类中实例方法重写ide
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.UseLoggerFactory(LoggerFactory); }
这样就能够在VS的输出窗口里面看到ef core执行时打出的日志了,包括全部执行的sql语句
以下
ui
附微软的官方文档 Docs.Microsoft.net