C# 在EF Core中进行SQL跟踪时丢失了参数值

C# 在EF Core中进行SQL跟踪时丢失了参数值,c#,entity-framework,.net-core,entity-framework-core,C#,Entity Framework,.net Core,Entity Framework Core,根据本文,我实现了一种从EF Core跟踪SQL查询的方法:。并且在跟踪查询参数方面存在问题。当我在DbParameterLogData的所有值中接收到日志事件时,我只看到问号,而不是我传递给查询的实际值 我使用的是VS 2015。这是EF Core的默认行为(用“?”填充属性) 为了获得真实的参数值,您需要使用以下方法启用敏感数据记录: 允许在异常消息、日志记录等中包含应用程序数据。这可能包括分配给实体实例属性的值、发送到数据库的命令的参数值以及其他此类数据。只有在根据此数据的敏感性采取了适

根据本文,我实现了一种从EF Core跟踪SQL查询的方法:。并且在跟踪查询参数方面存在问题。当我在DbParameterLogData的所有值中接收到日志事件时,我只看到问号,而不是我传递给查询的实际值


我使用的是VS 2015。

这是EF Core的默认行为(用
“?”填充属性)

为了获得真实的参数值,您需要使用以下方法启用敏感数据记录:

允许在异常消息、日志记录等中包含应用程序数据。这可能包括分配给实体实例属性的值、发送到数据库的命令的参数值以及其他此类数据。只有在根据此数据的敏感性采取了适当的安全措施时,才应启用此标志


这看起来很像字符串
“?”
。您是如何构建查询的?否。例如,来自其他上下文但结果相同的查询:
IQueryable query=\u agreements.Where(a=>a.AgreementNumber==filter.AgreementNumber)
我是舒尔,filter.AgreementNumber的值与“?”不同,有时这会导致
MissingMethodException
。在这种情况下,您应该在
ConfigureServices()
中调用它:
services.AddDbContext(options=>options.UseSqlServer(Configuration.GetConnectionString(“DefaultConnection”))。enableSensitiveDataloging())
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.EnableSensitiveDataLogging();
    // ...
}