Le journal d'utilisation d'Entity Framework Core dans ASP.NET Core affiche l'instruction sql

En cours de développement, nous souhaitons afficher les instructions SQL exécutées par EF Core lors du débogage. Vous pouvez utiliser l'outil SQL Studio Manager Tools. Une autre méthode consiste à utiliser les journaux fournis par EF Core.
Étapes pour utiliser les journaux Entity Framework Core dans ASP.NET Core:

1. Définissez la méthode de démarrage

Supprimez le nœud IIS dans launchSettings.json pour démarrer le programme en tant qu'application console.

2. Configurer les journaux dans Programm.cs

using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

namespace CompanyApp
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureLogging((hostingContext, logging) =>
                {
                    logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
                    logging.AddConsole();
                    logging.AddDebug();
                    logging.AddEventSourceLogger();
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
}

3. Le journal par défaut n'affiche pas les données sensibles, vous ne pouvez donc pas voir les paramètres de l'exécution de l'instruction SQL. Si vous voulez voir les paramètres, vous devez activer l'affichage des données sensibles dans la méthode ConfigureServices de Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews();

    services.AddDbContext<CompanyDbContext>(options => {
        //启用显示敏感数据
        options.EnableSensitiveDataLogging(true);
        options.UseSqlServer(Configuration.GetConnectionString("CompanyDbContext"));
    }); 
}

4. Configurez les options du journal appsettings.json:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information",
      "Microsoft.EntityFrameworkCore.Database.Command": "Information"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "CompanyDbContext": "Server=(localdb)\\mssqllocaldb;Database=CompanyDb;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}
Publié 177 articles originaux · 61 éloges · 170 000 vues

Je suppose que tu aimes

Origine blog.csdn.net/xingkongtianyuzhao/article/details/104304788
conseillé
Classement