查看EFcore生成的sql语句(mysql和sqlserver都可以)

怎么看EFcore生成的sql呢?其实很简单,不用SQL Server Profiler,很麻烦而且只能看sqlserver的,我们可以通过官方提供的日志记录(Microsoft.Extensions.Logging)实现.

 使用 Microsoft.Extensions.Logging.Debug 查看生成的SQL语句
 1.先去下载NuGetMicrosoft.Extensions.Logging.Debug包。

2.在Context类引入命名空间

using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Debug;

 3. 在DbContext文件里定义一个日志工厂

        public static readonly LoggerFactory MyLoggerFactory = new LoggerFactory(new[] {
            new DebugLoggerProvider()
        });

 4.在DbContext文件OnConfiguring连接字符前添加日志UseLoggerFactory(MyLoggerFactory)

      protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {

                optionsBuilder.UseLoggerFactory(MyLoggerFactory).UseMySql("database=student;data source=43.138.224.67;user id=root;password=ww623025;sslmode=none", Microsoft.EntityFrameworkCore.ServerVersion.Parse("5.7.39-mysql"));
            }
        }

5.总结基本就三步 

6. 执行一个插入

 

可以在控制台看到生成的sql语句 

另外还有一种方式使用 Microsoft.Extensions.Logging.Console ,使用方法和本文章说的差不多,大家可以去试试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值