design-patterns - 如何从现有的写入数据库生成 CQRS 中的读取数据?

标签 design-patterns domain-driven-design cqrs domain-events command-query-separation

目前我们有一个 Asp.net 应用程序,它使用 SQL Server 进行写入和读取查询,就像普通的整体应用程序一样。

现在我们想迁移到 CQRS。

在 CQRS 中,读取模型是根据事件生成的。

但是对于我的应用程序之前的事务数据,我们没有任何事件或日志。

那么我们如何根据现有 SQL Server 数据库的数据在 NoSql 数据库中生成读取模型。

最佳答案

在CQRS中通常不需要从事件生成读取模型,CQRS是将读取与写入分开的方法,它与事件无关。 对于迁移到 CQRS 的第一步,您可以使用与现在相同的模型(数据库中的相同表)。您唯一要拆分的 API 逻辑是所有修改系统状态的操作(例如创建更新删除操作)都应该通过执行命令来完成。并仅按查询读取。
如果您确实需要在您的情况下单独的读取模型,是的,您将需要在下一步中实现将生成读取模型的事件和事件处理程序。为了更容易,你可以看看 AppFactory project CQRS

关于design-patterns - 如何从现有的写入数据库生成 CQRS 中的读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59182910/

相关文章:

c# - 用户认证应该使用哪一层

domain-driven-design - DDD : inheritance and transactions

ios - iOS 的 CQRS 实现

CodeIgniter:在 CodeIgniter 中创建库和帮助程序的决策

sql - 实体属性值数据库与严格的关系模型电子商务

java - 检查用户是否被另一个用户阻止的最佳位置

domain-driven-design - DDD\ES\CQRS 中应用程序的 CRUD 部分

java - 为 DAO 创建接口(interface)是否合理,而我已经为服务创建了 DAO?

java - 创建工厂类的更好方法是什么

c# - 应该在哪个项目中使用事件溯源实时读取 DDD 中的模型(投影)?