Загрузка объекта Value в List или DropdownList, DDD

Мне нужно кое-что уточнить.

Have Person Aggreagate, 2 VOs (Country, StateProvince).

Я хочу загрузить всю страну в свой уровень представления (я использую mvc)

Эван говорит, что вы используете репозиторий (IPersonRepository) только для работы с корневым объектом (он всегда должен возвращать только ссылку на агрегированный корень)

   public interface IPersonRepository()
   {
     void savePerson(Person p);
     void removePerson(Person p);
     Ilist<Person> getPerson();
   }

что я обычно делаю для решения этой проблемы:

Добавьте в IPersonRepository этот метод

IList<Country> LookupCountrysOfPerson();

На уровне Infra реализуйте интерфейсы домена следующим образом:

public IList<Person> LookupCountrysOfPerson()
{
    return Session.CreateQuery("from Countrys").List<Person>());
}

Мой партнер говорит, что я ошибаюсь.

Иногда приходится жертвовать моделью предметной области, чтобы выполнить какую-то задачу

Как лучше всего это сделать?

Пожалуйста, с помощью кода! :)

7
задан Pedro de la Cruz 29 March 2011 в 20:04
поделиться