如何:使用单个事务来跨越多个聚合的更新

时间:2011-12-09 17:57:28

标签: transactions event-store

在我们的应用程序中,我们使用的是Jonathan Oliver的EventStore和CommonDomain。我们用来存储事件的数据库是SQL Server或Oracle。

对于特定用例,我们要求通过一个命令更新多个聚合。我意识到(在CQRS中)理想情况下,一个命令应该只更新一个聚合,但在我们的例子中,它是一次更新多个实例的特定要求。

是否有一种简单的方法(不使用两阶段提交)使此操作成为原子,如果是,那怎么可能?

编辑:这个问题特定于使用EventStore框架(也许是CommonDomain框架的存储库)。这不是关于事务处理或工作单元模式的一般性问题(我很清楚)

1 个答案:

答案 0 :(得分:0)

您可以尝试工作单位。它将帮助您进行原子化更改。以下是MSDN中有关如何使用 Repository and EF

实施该链接的链接