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腳步。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM