Asp.net mvc 将事务脚本模式与DDD/CQR混合使用

Asp.net mvc 将事务脚本模式与DDD/CQR混合使用,asp.net-mvc,domain-driven-design,cqrs,Asp.net Mvc,Domain Driven Design,Cqrs,在这种情况下,为了支持遗留系统,我们需要在用户登录时插入到表中。这基本上是一个CRUD操作,因此为此创建存储库/实体/命令/事件没有任何意义,因为这根本不与任何业务规则相关联。创建CQRS命令的唯一好处是该数据库写入可以在该模型下异步进行。哪条路线比较好 使用CQR,然后调用存储的进程。 在处理那个命令的时候 只需在控制器中直接调用数据库(我使用的是asp.net mvc) 如果您正在使用(并持久化)事件进行可能的播放,那么作为事件处理程序的一部分写入遗留数据库(想想“网关”)是有意义的。如果

在这种情况下,为了支持遗留系统,我们需要在用户登录时插入到表中。这基本上是一个CRUD操作,因此为此创建存储库/实体/命令/事件没有任何意义,因为这根本不与任何业务规则相关联。创建CQRS命令的唯一好处是该数据库写入可以在该模型下异步进行。哪条路线比较好

  • 使用CQR,然后调用存储的进程。 在处理那个命令的时候
  • 只需在控制器中直接调用数据库(我使用的是asp.net mvc)
如果您正在使用(并持久化)事件进行可能的播放,那么作为事件处理程序的一部分写入遗留数据库(想想“网关”)是有意义的。如果将来需要重播此事件,可以交换不重新插入记录的假处理程序

您的控制器实际上应该只是和HTTP请求之间的转换层以及域的命令。IMHO说,写入DB(即使是传统的非域访问)在那里也没有什么意义。将逻辑放在事件处理程序中可以使交互非常明确