2015-01-11 2 views
0

У меня есть 3 таблицы: курсы, кафедры и университеты.Вложенные отношения никогда не заканчиваются сущностью рамки

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

Проблема когда я бегу:

db.Courses.Include(c=>c.Department).Include(c=>c.University) 

Он отображает каждую вложенную перестановку этих отношений, так что мое автоматическое отображение на DTO только создает StackOverflow, потому что это продолжается вечно. (например, в курсах отображается Отдел, который отображает курсы в этом отделе, который отображает Отдел и т. д.)

Какое оптимальное решение, чтобы избежать этой проблемы?

ответ

0

Я хотел бы предложить отключив отложенной загрузки для EntityFramework через

context.Configuration.LazyLoadingEnabled = false 

Это позволит предотвратить суб-объекты, которые вы не делали явно включают в себя от раскрывания по Entity Framework, когда они доступны.

Либо это, либо создать настраиваемый метод сопоставления для включения только тех объектов, которые вы хотите в DTO.

Смежные вопросы