Cqrs 开发工作流程、重构和;工具
当使用经典的“当前状态”持久性时,我们可能会向实体添加一个新属性。例如,在使用Blog有许多帖子的场景中,我们可能会向帖子实体添加一个“Rating”属性。我们希望将额定值默认为3,因此当我们在DB中添加一列时,默认值设置为3 在CQRS中,我已经了解到处理此问题的一个策略是在构造函数中设置默认值(评级=3),因此,当从事件中重播时,默认值将可用,除非存在更改评级值的显式事件。这似乎不是一个很棒的解决方案,因为没有创建事件,因此读取模型(或其他进程管理器/BCS)不会考虑默认值。(这里可能是错的?) 因此,当一个新属性添加到聚合中时,应该在该聚合类型的每个“实例”上发出一个命令,设置默认值,从而创建所需的事件,从而更新读取模型,其他进程/BC可以使用和处理事件,这似乎是合乎逻辑的。也许我在这件事上走得太远了 我没有找到很多关于NEventStore工具的信息,所以我想知道正在使用什么策略? 我能想到的一个策略是,需要为每个“发布”创建一个一次性可执行文件/脚本,它将:Cqrs 开发工作流程、重构和;工具,cqrs,neventstore,Cqrs,Neventstore,当使用经典的“当前状态”持久性时,我们可能会向实体添加一个新属性。例如,在使用Blog有许多帖子的场景中,我们可能会向帖子实体添加一个“Rating”属性。我们希望将额定值默认为3,因此当我们在DB中添加一列时,默认值设置为3 在CQRS中,我已经了解到处理此问题的一个策略是在构造函数中设置默认值(评级=3),因此,当从事件中重播时,默认值将可用,除非存在更改评级值的显式事件。这似乎不是一个很棒的解决方案,因为没有创建事件,因此读取模型(或其他进程管理器/BCS)不会考虑默认值。(这里可能是错的