我需要澄清一些事情。
有人员聚合,2 个 VO(国家,州省)。
我想在我的表示层中加载所有国家(我正在使用 mvc)
Evan 说您只使用存储库 (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>());
}
我的搭档说我错了。
有时你必须牺牲你的领域模型来完成一些任务
做这个的最好方式是什么?
请用代码!:)