3

我刚刚开始使用DDD,并且首先使用EF代码构建了一个存储库模式,目前为止它工作得很好。现在说我有一个聚合根呼叫Animal,它有一个名为Status的实体。知识库和获取聚合实体/值对象的新值

现在,如果我需要用Status对象填充下拉列表,或者我需要用新的对象替换动物中的Status对象。我应该如何访问Status集合。在这种情况下,Status不是一个聚合根,并且仅与Animal有关联,它将具有同一性。

我应该要么通过成为一个聚合根创建一个新的存储库Status(它只是许多这样的事情之一,所以这可能失控),或做我允许的东西,如通过AnimalRepository访问Status集合GetStatusByIDGetAllStatuses

这个同样的问题也同样适用于价值的物品,如颜色,品种,性别等

回答

1

这种东西,我会当作查找/引用数据。我发现这个答案在过去很有用:Loading a Value object in List or DropdownList, DDD

但基本上我会有一个单独的存储库。

+0

打我也是一团糟! 下面是一些代码的另一个答案 http://stackoverflow.com/questions/4921899/simple-aggregate-root-and-repository-question/4931457#4931457 –