Я подозреваю, что в руководстве, которое вы видели, говорилось о запросах без отслеживания
Запросы без отслеживания определенно имеют некоторые преимущества в производительности для сайтов с интенсивным чтением.
Объекты никогда не прикрепляются и отслеживаются по идентичности, поэтому вам не нужно их отсоединять, что позволяет избежать затрат на разрешение идентичности во время материализации.
Запрос без отслеживания выглядит следующим образом:
var source = ctx.Staff;
source.MergeOption == MergeOption.NoTracking;
var staff = (from s in source
where s.ID == 12
select s).First();
Никакие запросы отслеживания не имеют другого преимущества по сравнению с ручным отсоединением сущностей: ручное отключение отключает сущность от остальной части ее графа сущностей, где, так как без запросов на отслеживание вы можете извлечь связанный граф узлов, которые все отсоединены.
Но есть и недостатки в использовании запросов без отслеживания:
Иногда вы можете оказаться в ситуациях, когда вы читаете повторяющиеся результаты, потому что вы отключили разрешение идентификаторов.
Так что, если вы действительно не уверены, что ваш запрос будет возвращать только одну копию каждой сущности, вы должны быть осторожны, иначе вы можете получить ошибку пользовательского интерфейса.
Надеюсь, это поможет
Alex
PS: Этот совет о времени жизни ObjectContext может быть полезен для вас.