Как отключить сообщение EF: Контекст «Контекст» начал отслеживать сущность «Модель». Рассмотреть возможность использования - PullRequest
1 голос
/ 07 апреля 2019

Я просматриваю поток журналов приложений в Azure на предмет веб-API ядра EF asp.net core 2 EF core и получаю сообщение

Context 'Context' started tracking 'Model' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

Есть ли способ отключить / отключить эти сообщения, не отключая отслеживание в моем коде?

Edit: Код из dbContextClass

public class Context : DbContext
    {
        public Context (DbContextOptions<Context> options)
            : base(options)
        {
        }

        public DbSet<Model> Model { get; set; }

        /*protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            // add your own confguration here
        }*/
}

1 Ответ

0 голосов
/ 08 апреля 2019

Когда вы запрашиваете в базе данных некоторую запись без использования AsNoTracking, EF Core начнет отслеживать ее в текущем контексте.AsNoTracking - это одно решение, так как вы не хотите, чтобы EF Core отслеживал какие-либо изменения в нем.Во многих случаях отсутствие AsNoTracking хорошо, если вы не добавляете / присоединяете / обновляете сущность с тем же идентификатором в контексте.Но хорошо иметь это явно, когда отслеживание не требуется.

Для более подробной информации, вы можете обратиться к этой статье .

Также, LogStartedTracking поле поддерживает только Entity Framework Core 2.1, вы можете попробовать обновить версию EF Core.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...