Что означает прокси в EntityFramework? - PullRequest
18 голосов
/ 25 августа 2011

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

Ответы [ 2 ]

29 голосов
/ 25 августа 2011

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

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

5 голосов
/ 26 августа 2011

См. Работа с прокси-классами в этом руководстве: http://www.asp.net/entity-framework/tutorials/advanced-entity-framework-scenarios-for-an-mvc-web-application

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