2

我有:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
{
  string connectionString = "mydb.db;";
  optionsBuilder
  .UseLoggerFactory(MainWorker.ConsoleLoggerFactory)
  .EnableSensitiveDataLogging(true)
  .UseSqlite(connectionString);
}

每当我访问我的 DBContext 时,控制台都会显示

信息:Microsoft.EntityFrameworkCore.Infrastructure[10403] Entity Framework Core 3.0.0-preview4.19176.6 已初始化

有没有办法过滤掉这个特定的消息?当我做很多查询时,它只会弄乱我的控制台调试窗口..

4

1 回答 1

3

EF Core 特定的日志消息是通过DbContextOptionsBuilder.ConfigureWarnings方法配置的(是的,名称有点误导)。

有问题的EventId消息是CoreEventId.ContextInitialized。然后你使用它来压制它Ignore

optionsBuilder.ConfigureWarnings(warnings => warnings
    .Ignore(CoreEventId.ContextInitialized));

当然,它可以与其他optionsBuilder调用链接。此外,您可能希望使用CoreEventId.ContextDisposed.

于 2019-06-03T09:38:57.383 回答