DbContextOptionsBuilder.EnableSensitiveDataLogging不会做任何事情

时间:2019-01-24 19:40:52

标签: c# asp.net entity-framework

我正在尝试查找ASP.NET Core项目中的实体框架InvalidOperationException的原因。例外情况是建议使用DbContextOptionsBuilder.EnableSensitiveDataLogging

在Startup.cs中,我有:

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<TodoContext>(opt =>
    {
        opt.UseInMemoryDatabase("TodoList");
        opt.EnableSensitiveDataLogging();
    });
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}

问题在于它似乎什么也没做。我收到的异常消息完全相同,并且仍然建议使用DbContextOptionsBuilder.EnableSensitiveDataLogging

我想念什么吗?

2 个答案:

答案 0 :(得分:0)

我不认为这是启用它的方法。这应该工作

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<TodoContext>(opt =>
    {
        opt.UseInMemoryDatabase("TodoList").EnableSensitiveDataLogging();
    });
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}

答案 1 :(得分:0)

我有同样的问题。通过使用OnConfiguring本身中的DbContext方法而不是ConfigureServices中的Startup方法来解决它。

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

此选项记录在here中。