У нас есть сайт ASP.NET MVC, который использует абстракции Entity Framework с шаблонами репозитория и 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. Мой вопрос заключается в том, что вы рассматриваете эту довольно глубокую навигацию по хорошей графике графика или можете абстрагировать извлечение объектов дальше по графику в репозитории?