Я познакомился с этой концепцией AsNoTracking()
, DetectChanges()
и AutoDetectChangesEnabled
совсем недавно. Я понимаю, что при извлечении записей из базы данных через Entity Framework с помощью AsNoTracking()
, тогда Entity Framework не отслеживает никаких изменений в этих записях и при этом не будет обновлено какое-либо свойство извлеченной записи.
Мой вопрос в том, будут ли извлечены записи таким образом, также приведет к отключению автоматического вызова DetectChanges() или это нужно сделать явно, установив:
Context.Configuration.AutoDetectChangesEnabled = false;
Также любезно сообщите мне, какое влияние (с точки зрения производительности) оно имеет, если оба действия выполняются при извлечении данных строго для целей только для чтения:
Context.Configuration.AutoDetectChangesEnabled = false;
Context.Set<T>().AsNoTracking();