Если у меня есть сводный корень, который состоит из:
class Parent
{
IEnumerable<Child> Children{ get; set; }
}
Дочерние объекты могут содержать любое количество возможных дочерних объектов, которые хранятся в базе данных.
Что было бы лучшеспособ получения полного списка всех дочерних объектов в приложении, чтобы они могли быть представлены в пользовательском интерфейсе, позволяющем пользователю присоединять / удалять их из родительского объекта?
Наличие метода в родительском объекте, например
class Parent
{
IEnumerable<Children> GetAllChildObjects { get; set; }
}
наверняка испортило бы модель с деталями реализации?
Было бы нормально иметь доменную службу, которая вызывает родительский репозиторий и получает полный список.Фасад приложения может затем вызывать сервис напрямую, гарантируя, что родительская модель остается «чистой».
Обновление:
Чтобы дать немного больше деталей, я приведу систему в порядок ипытаясь придать ему некоторую структуру.
Пользователь может содержать несколько рабочих мест.WorkLocations довольно просты.Текущая система содержит веб-страницу, которая отображает данные пользователя, включая полный список действительных рабочих мест.Выбор местоположений из списка обновляет модель пользователя новыми местоположениями.
В настоящее время пользовательский интерфейс в значительной степени попадает в БД и вытаскивает полный список рабочих мест.Мне нужно перенести это обратно в более структурированную форму.
Или это предполагает, что WorkLocation не должен быть в корне пользователя, как в настоящее время?