EF Core中SQL跟踪期間丟失的參數值

.net-core c# entity-framework entity-framework-core

我根據這篇文章實現了一種從EF Core跟踪SQL查詢的方法: https//docs.microsoft.com/en-us/ef/core/miscellaneous/logging 。並且跟踪查詢參數有問題。當我在DbParameterLogData的所有值中記錄Log事件時,我只看到問號,而不是我傳遞給查詢的實際值。

在此輸入圖像描述

我正在使用VS 2015.謝謝!

一般承認的答案

這是EF Core的默認行為(用"?"填充DbParameterLogData.Value屬性)。

為了獲得真實的參數值,您需要使用DbContextOptionsBuilder.EnableSensitiveDataLogging方法啟用敏感數據記錄

允許應用程序數據包含在異常消息,日誌記錄等中。這可以包括分配給實體實例的屬性的值,發送到數據庫的命令的參數值以及其他此類數據。如果您根據此數據的敏感度採取了適當的安全措施,則只應啟用此標誌。

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


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow