El registro de uso de Entity Framework Core en ASP.NET Core muestra la instrucción sql

En desarrollo, queremos ver las declaraciones SQL ejecutadas por EF Core durante la depuración. Puede usar la herramienta Herramientas de SQL Studio Manager. Otra forma es usar los registros proporcionados por EF Core.
Pasos para usar los registros de Entity Framework Core en ASP.NET Core:

1. Establecer el método de inicio

Elimine el nodo IIS en launchSettings.json para iniciar el programa como una aplicación de consola.

2. Configurar registros en 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. El registro predeterminado no muestra datos confidenciales, por lo que no puede ver los parámetros de la ejecución de la instrucción SQL. Si desea ver los parámetros, debe habilitar la visualización de datos confidenciales en el método ConfigureServices de Startup.cs:

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

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

4. Configure las opciones de registro de 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"
  }
}
177 artículos originales publicados · 61 alabanzas · 170,000 vistas

Supongo que te gusta

Origin blog.csdn.net/xingkongtianyuzhao/article/details/104304788
Recomendado
Clasificación