asp.net core 3.1 打印EFCore执行的sql

1、StartUp.cs类里定义个全局变量:

 

using Microsoft.Extensions.Logging;

 

        public static readonly ILoggerFactory MyLoggerFactory
= LoggerFactory.Create(builder =>
{
#if DEBUG
    builder.AddConsole();
#endif
});

 

2、ConfigureServices里添加Mysql上下文时,添加日志:

 

           // 添加mysql的dbcontext上下文
            services.AddDbContextPool<IDbContext, ApplicationDbContext>(options =>
            {
                options.UseMySql(Configuration.GetConnectionString("Default"), sqlOptions =>
                {
                    sqlOptions.EnableRetryOnFailure(3, TimeSpan.FromSeconds(30), new[] { 2 });
                }).UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking).UseLoggerFactory(MyLoggerFactory);
            }, 128);

 

 

3、第1步,我们只是在Debug模式下才打印,所以我们在F5运行之前,需要调整调试模式,不要选择 IIS Express,选择自己的项目web名称的那个,如下图:

 

4、接下来F5运行,打开页面的同时会有黑屏(类似CMD)的调试界面,会打印相应的日志,以及EFCore执行转换的sql脚步。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值