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