Подавить инициализацию сообщения EF core 3.0.x

У меня есть:

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

Есть ли способ отфильтровать это конкретное сообщение? так как я делаю много запросов, это просто загромождает мое окно отладки консоли..

1 ответ

Решение

Сообщения журнала EF Core настраиваются с помощью метода DbContextOptionsBuilder.ConfigureWarnings (да, имя немного вводит в заблуждение).

EventId рассматриваемого сообщения CoreEventId.ContextInitialized, И вы подавляете это, используя Ignore:

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

Конечно, он может быть связан с другим optionsBuilder звонки. Также вы можете подавить второе сообщение журнала, связанное с временем жизни контекста, с помощью CoreEventId.ContextDisposed,

Другие вопросы по тегам