Entity Framework 4 - Шаблон репозитория - Как избежать полной загрузки сущности с вложенным отношением - PullRequest
0 голосов
/ 23 марта 2011

В настоящее время я работаю с Entity Framework 4 и шаблоном репозитория в c # .

У меня есть сущность (Category), который содержит свойство (Main Category), которое относится к главной категории и некоторым другим вещам.

Из-за свойства навигации основная категория имеет доступ к своей дочерней категории.

Дляпричины, которые я объясню позже, Я отключил отложенную загрузку.

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

Я хочу сделать это, потому что эта сущность предназначена для преобразования в dto ииспользуется в WCF WebService.Полная загрузка графика не совместима с моим подходом.

Есть ли способ избежать загрузки вложенной сущности с EF4?Если нет, можно ли заставить NHibernate работать таким образом?(Я думал, что отключение отложенной загрузки позволит мне полностью контролировать то, что я хочу загрузить (явная или активная загрузка), но, похоже, нет ...)

1 Ответ

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

Почему вы не проецируете свой объектный объект на этот объект dto, когда получите результаты из самого контекста объекта?Вы можете использовать что-то вроде

myclient.Select(c => new clientdto(){ name = c.name, email = c.email, phone = c.phone}) 

, которое будет возвращать Ienumerable объекта clientDTO.

...