Подтвердить что ты не робот

Что такое значение прокси в EntityFramework?

Я использовал EntityFramework как ORM в моих проектах, и у меня нет никаких проблем с использованием этой технологии. Я слышал, что EntityFramework создает прокси-сервер. Я хочу знать, какой прокси-сервер создает этот ORM? Что оно делает? И когда EF его создает? Другими словами, что означает термин "прокси", который часто используется в темах ОРМ.

Любая помощь будет полезна.

Спасибо в Advance.

4b9b3361

Ответ 1

Прокси-сервер в мире ORM - это автоматически сгенерированный тип, который наследуется от вашего типа объекта домена. Прокси представляет экземпляр, который еще не был заполнен данными из базы данных, но знает только свой собственный идентификатор. Когда доступ к ресурсу, который сопоставляется с базой данных, подпроцесс прокси выполняет нагрузку из базы данных, так что загрузка прозрачна для кода клиента.

Прокси обычно создаются, когда у вас есть свойство отношений между двумя объектами, которые лениво загружаются. Например. когда вы обращаетесь к свойству user.Address, то, что действительно возвращается, является объектом прокси-адреса. Только после доступа к свойству этого объекта (например, user.Address.StreetName) будет загружен соответствующий объект Address.