Мне нужно кое-что уточнить.
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>());
}
Мой партнер говорит, что я ошибаюсь.
Иногда приходится жертвовать моделью предметной области, чтобы выполнить какую-то задачу
Как лучше всего это сделать?
Пожалуйста, с помощью кода! :)