Ленивая загрузка POCO-сущности из прокси - PullRequest
0 голосов
/ 26 апреля 2011

Я пытаюсь создать POCO-прокси для сущности, о которой уже известно, что она находится в базе данных - аналогично nHibernate Session.Load ().

Я хотел бы установить значение идентификатора, а затем, если к сущности будут доступны другие свойства, другие свойства загружаются с отложенной загрузкой - опять же, аналогично nHibernate Session.Load ()

Я пытался создать прокси с ObjectContext.CreateObject (), установить значение идентификатора и присоединить его к контексту. Но свойства не лениво загружаются при доступе. Свойства навигации, однако, будут очень лениво загружаться.

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

Возможно ли это с Entity Framework 4?

1 Ответ

0 голосов
/ 26 апреля 2011

Нет, это невозможно.Причина в том, что Entity Framework поддерживает только ленивую загрузку свойств навигации.Вы не можете лениво загружать скалярные или сложные свойства.Вы должны загрузить объект из базы данных, чтобы заполнить его.

...