Ответ 1
Прокси нужны для двух функций:
- Lazy loading - свойства навигации загружаются после первого доступа
- Динамическое отслеживание изменений - если вы изменяете какое-либо свойство в сущности, контекст уведомляется об этом изменении и устанавливает состояние объекта. Если отслеживание динамических изменений не используется, контекст должен использовать отслеживание изменений моментальных снимков, что означает обнаружение всех изменений перед сохранением = поиск всех свойств, даже если они не были изменены.
Оба эти метода имеют другие требования:
- Lazy loading - все свойства навигации в сущности должны быть
virtual
. Должна быть включена ленивая загрузка. - Динамическое отслеживание изменений - все отображаемые свойства должны быть
virtual
.