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