ABP 輸出 EF 所生成的 SQL 語句到控制台


紀錄 EF 所生成的 SQL 語法

常想把 LinqToSql 印出來以利 Debug 調校效能

以ABP來說是位於公共設施層 - EntityFrameworkCore 專案

注入 ILoggerFactory 然後 UseLoggerFactory

EntityFrameworkModule.cs

private readonly ILoggerFactory _loggerFactory;

public OBManEntityFrameworkModule(ILoggerFactory loggerFactory)
{
  _loggerFactory = loggerFactory;
}

public override void PreInitialize()
{
  Configuration.Modules.AbpEfCore().AddDbContext<FirstDbContext>(options=>
  {
    if (options.ExistingConnection != null)
      FirstDbContextOptionsConfigurer
        .Configure(options.DbContextOptions, options.ExistingConnection);
    else
      FirstDbContextOptionsConfigurer
        .Configure(options.DbContextOptions, options.ConnectionString);
    // add sql log
    options.DbContextOptions.UseLoggerFactory(loggerFactory)
      .EnableSensitiveDataLogging();
  });
}

執行有跑到SQL就會印出語法到主控台


免責聲明!

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



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