Шаблон для извлечения сложных графов объектов с помощью шаблона репозитория с помощью Entity Framework

У нас есть сайт ASP.NET MVC, который использует абстракции Entity Framework с шаблонами Repository и UnitOfWork. Мне интересно, как другие реализовали навигацию по сложным графам объектов с помощью этих шаблонов. Позвольте мне привести пример одного из наших контроллеров:

var model = new EligibilityViewModel
   {
       Country = person.Pathway.Country.Name,
       Pathway = person.Pathway.Name,
       Answers = person.Answers.ToList(),
       ScoreResult = new ScoreResult(person.Score.Value),
       DpaText = person.Pathway.Country.Legal.DPA.Description,
       DpaQuestions = person.Pathway.Country.Legal.DPA.Questions,
       Terms = person.Pathway.Country.Legal.Terms,
       HowHearAboutUsOptions = person.Pathway.Referrers
   };

Это процесс регистрации, и почти все зависит от класса Person POCO. В этом случае мы кэшируем человека в процессе регистрации. Я' Сейчас мы приступили к реализации последней части процесса регистрации, которая требует доступа к данным глубже в графе объекта. В частности, данные DPA, которые зависают от Legal внутри страны.

Приведенный выше код просто отображает информацию о модели в более простой формат для ViewModel. Мой вопрос: считаете ли вы эту довольно глубокую навигацию по графу хорошей практикой или вы бы абстрагировали извлечение объектов дальше по графику в репозитории?

11
задан Reinstate Monica 14 November 2019 в 11:44
поделиться