the sqlquery run results raw query present not net fromsql framework for executesqlcommand does databasefacade column asp c# entity-framework linq-to-sql .net-core

run - sqlquery c# entity framework



Valor de parĂ¡metro perdido durante el seguimiento de SQL en EF Core (1)

Implementé un método para rastrear consultas SQL desde EF Core según este artículo: https://docs.microsoft.com/en-us/ef/core/miscellaneous/logging . Y tiene problemas con el rastreo de parámetros de consulta. Cuando recibo el evento Log en todos los valores de DbParameterLogData, veo solo el signo de interrogación en lugar de los valores reales que pasé a la consulta. Imagen de ejemplo VS 2015. ¡Gracias!


Este es el comportamiento predeterminado de EF Core (llenando la propiedad DbParameterLogData.Value con "?" ).

Para obtener los valores reales de los parámetros, debe habilitar el registro de datos confidenciales utilizando el método DbContextOptionsBuilder.EnableSensitiveDataLogging :

Permite que los datos de la aplicación se incluyan en mensajes de excepción, registro, etc. Esto puede incluir los valores asignados a las propiedades de las instancias de su entidad, los valores de los parámetros para los comandos que se envían a la base de datos y otros datos similares. Solo debe habilitar este indicador si cuenta con las medidas de seguridad apropiadas en función de la sensibilidad de estos datos.

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.EnableSensitiveDataLogging(); // ... }