聚合内存在集合应该如何修改?
Hi,各位,我想请问一下,如果一个聚合之内存在一个多重的关系,例如:
Resource(1)--->(*)Content
其中Resource是聚合根,Content是聚合根内一个实体
如果我需要将持久化的Resource取出这很简单,通过ResourceRepository将Resource及其对应的Content取出再组合成一个完整的对象即可
现在问题是,如果我需要添加一个Content,我应该如何实现?
逻辑上新增(管理)Content是Resource中的职责,那么就会有如下方法:
|
这样在内存中的Resource实体的确修改了,但是,如果我想将其持久化(例如存储至数据库),我应该如何实现?
如果是在ResourceRepository中加入Update(Resource resource)方法,这个方法我该如何实现,因为这个方法内无法快速发现我新增了哪个Content。
请问,我应该如何正确地实现更新聚合内集合这样的操作(在非EventSourcing的结构下)?