我对 CQRS 的看法是,严格遵循命令时不会返回任何内容(返回类型 void),因此我的示例非常简单:创建某些内容时如何检索 ID?
例如,在创建信用卡交易时,返回交易 ID 似乎相当重要,或者在创建客户时,如果您获取创建的客户或客户 ID,以便浏览器可以自动导航,则会更容易例如该客户页面。
一种解决方案可能是首先请求 ID,然后使用该 ID 创建客户或交易,但这看起来很奇怪。
有谁有这方面的经验或知道如何以最有效的方式完成它?也许我误解了什么?
最佳答案
CQRS 是一劳永逸的,并且由于 GUID 非常可靠(冲突风险低),因此发送您自己生成的 GUID 没有问题。
步骤基本上是:
- 创建您的命令
- 生成并为其分配您的身份 (GUID)
- 触发命令
- 返回之前生成的身份
了解更多关于GUIDs on Wikipedia的信息
关于language-agnostic - 应用CQRS时如何在create中获取ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4361889/