[转]ef core显示sql语句

二、Microsoft.Extensions.Logging.Debug在控制台输出完整调试日志

这种方法是比较推荐的,可以完整的输出EF生成的SQL语句

1.用NuGet管理器添加包: Microsoft.Extensions.Logging.Debug

 

 2.修改DbContext类

复制代码
public partial class MyDbnContext : DbContext
{
        [Obsolete]
        public static readonly LoggerFactory LoggerFactory = new LoggerFactory(new[] { new DebugLoggerProvider((_, __) => true) });
      
... ...


        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            base.OnConfiguring(optionsBuilder);
            optionsBuilder.UseLoggerFactory(LoggerFactory);
        }

... ...
}
复制代码

3.在想要查看sql的db.SaveChanges()方法上加断点,然后调试程序。

 

 

4.点击VisualStudio工具条:调试->窗口->输出,打开输出日志,并搜索EntityFrameworkCore,结果如下

红框内圈出的就是完整的SQL输出

参考项目:https://github.com/FB208/CodeSpace/blob/master/CodeSpace.CSharp/WebMvc.Model/WebMvc.Model/BBSAdmin/BBSAdminContext.cs

posted @ 2020-03-21 00:07  hurui12  阅读(710)  评论(0编辑  收藏  举报