kof*_*fus 3 c# entity-framework-core ef-core-3.0
我有:
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
string connectionString = "mydb.db;";
optionsBuilder
.UseLoggerFactory(MainWorker.ConsoleLoggerFactory)
.EnableSensitiveDataLogging(true)
.UseSqlite(connectionString);
}
Run Code Online (Sandbox Code Playgroud)
每当我访问 DBContext 时,控制台都会显示
信息:Microsoft.EntityFrameworkCore.Infrastruct[10403] Entity Framework Core 3.0.0-preview4.19176.6 已初始化
有没有办法过滤掉这个特定的消息?当我做了很多查询时,它只会让我的控制台调试窗口变得混乱..
EF Core 特定的日志消息是通过DbContextOptionsBuilder.ConfigureWarnings方法配置的(是的,这个名称有点误导)。
EventId相关消息的是CoreEventId.ContextInitialized。你可以使用以下方法抑制它Ignore:
optionsBuilder.ConfigureWarnings(warnings => warnings
.Ignore(CoreEventId.ContextInitialized));
Run Code Online (Sandbox Code Playgroud)
当然,它可以与其他optionsBuilder调用链接起来。此外,您可能希望使用 抑制第二个上下文生命周期相关的日志消息CoreEventId.ContextDisposed。