Entity Framework: AsNoTracking убивает нетерпеливую загрузку связанных объектов - PullRequest
3 голосов
/ 23 августа 2011

Мы получаем, загружая связанные объекты, используя проекции анонимного типа, и по большей части это работает хорошо (не замечательно, просто хорошо; использование все столбцы не идеально, но что может вы делаете).

Теперь мы столкнулись с ситуацией, в которой требуется AsNoTracking () , но, похоже, это отключает нетерпеливое поведение загрузки, которое у нас было с анонимными типами - любой доступ к свойству в результатах теперь вызывает новые запросы ,

Являются ли эти два понятия взаимоисключающими?

1 Ответ

2 голосов
/ 24 августа 2011

Ленивая загрузка и энергичная загрузка - это совершенно разные вещи.

Тем не менее, похоже, что вы говорите о фиксации, которой нет ни у одного из них. Трудно сказать, так как вы не показываете код. Нет, нет необходимости выбирать все столбцы, но, опять же, вы не показываете свой код, поэтому я не могу помочь вам исправить это.

Во всяком случае, да, это нормально. .AsNoTracking означает, что загруженные объекты и все, на что они ссылаются, не фиксируются в памяти другими объектами. Это выигрыш в производительности, но это означает, что вы можете получить один и тот же объект в памяти более одного раза. Так что обычно это только для чтения.

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